On Fri Oct 27 14:17:09 2023 +0000, Connor McAdams wrote:
That was deliberate, I am still unsure and intend on asking about it today to get a definitive answer.
Those enum values are made up and not compatible with Windows. Unlike for ntdll, win32u interface is not stable even on Windows and varies between versions, so there is not much point in trying too hard to be compatible. (Still, if the interface is easy to deduce, it's nice to stay compatible, but `NtUserCallHwndParam is not such case).
See a comment in `WIN_SetStyle` for why I considered `NtUserSetWindowStyle` to be temporary: `FIXME: Use SetWindowLong or move callers to win32u instead.`.
However, I wonder if we could have some some nicer interface for real classes that doesn't need exposing `wine_real_class_id` enum. Maybe we could have separated `NtUserMessageCall` entries for builtin controls and use that from their window procs (at least for `WM_NCCREATE`). We already have such entry for scroll bars.