Overwatch 2 verifies that every kernel callback that is run, lives in user32. Introduce a callback in user32 that just forwards to the other modules' callbacks.
--
v9: user32: Remove NtUserDriverCallback* kernel callbacks.
winex11.drv: Route kernel callbacks through user32.
winemac.drv: Route kernel callbacks through user32.
wineandroid.drv: Route kernel callbacks through user32.
winevulkan: Route kernel callbacks through user32.
user32: Add NtUserDispatchCallback kernel callback.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1180
For https://gitlab.winehq.org/wine/wine/-/merge_requests/551.
--
v2: winex11.drv: Use the primary adapter info instead of calling back win32u.
win32u: Add is_primary parameter to GetCurrentDisplaySettings.
winemac.drv: Use the primary adapter name instead of calling back win32u.
win32u: Add primary adapter name parameter to ChangeDisplaySettings.
win32u: Force update display cache after NtUserChangeDisplaySettingsEx.
win32u: Add a BOOL force parameter to update_display_cache.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1136