On Mon Oct 16 13:21:59 2023 +0000, Jinoh Kang wrote:
The global variable `pass_msg_to_real_class_wndproc` is being used to pass state implicitly to the window procedure. **EDIT**: Actually nevermind, this does not answer your question. Sorry.
Hm, now I understand what you mean.
In the `pass_msg_to_real_class_wndproc = 0` case, we're not really testing NtUserSetRealClassId at all. We're merely testing RealGetWindowClass against *slightly* different (mostly just `cbWndExtra` and `style`) classes, all with the same class name (`"SuperClass Test"`) as well as the same wndproc behavior (simply delegates to `DefWindowProcW()`, except for `WM_NCCREATE`).
The `pass_msg_to_real_class_wndproc = 0` case should simply be factored out of `test_real_class_name` and be tested separately, instead of being tested for every built-in class (which doesn't make a difference since its builtin wndproc is being ignored).