Jacek Caban (@jacek) commented about dlls/user32/win.c:
if (!menu && info.lpszMenuName && (cs->style & (WS_CHILD | WS_POPUP)) != WS_CHILD) menu = LoadMenuW( cs->hInstance, info.lpszMenuName );
- cbtc.lpcs = cs; hwnd = NtUserCreateWindowEx( cs->dwExStyle, &class, NULL, &window_name, cs->style, cs->x, cs->y, cs->cx, cs->cy, cs->hwndParent, menu, module,
cs->lpCreateParams, 0, NULL, 0, !unicode );
cs->lpCreateParams, 0, &cbtc, 0, !unicode );
This is problematic for wow64. Also, in addition to test failures reported by testbot, here are a few more tests I wrote a while ago: https://testbot.winehq.org/JobDetails.pl?Key=127248 Although Windows seems to preserve name pointers for WM_NCCREATE, it's not preserved for WM_CREATE, so we can't really depend on that.