From: Jacek Caban jacek@codeweavers.com
And use it in display drivers. --- dlls/win32u/message.c | 4 ++++ dlls/winemac.drv/macdrv.h | 2 +- dlls/winex11.drv/x11drv.h | 2 +- include/ntuser.h | 9 +++++---- 4 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/dlls/win32u/message.c b/dlls/win32u/message.c index 57e9b26b33d..51967d2598a 100644 --- a/dlls/win32u/message.c +++ b/dlls/win32u/message.c @@ -3209,6 +3209,10 @@ LRESULT WINAPI NtUserMessageCall( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lpa else RtlSetLastWin32Error( ERROR_MESSAGE_SYNC_ONLY ); return FALSE;
+ case NtUserSendDriverMessage: + /* used by driver to send packed messages */ + return send_message( hwnd, msg, wparam, lparam ); + case NtUserSpyEnter: spy_enter_message( ansi, hwnd, msg, wparam, lparam ); return 0; diff --git a/dlls/winemac.drv/macdrv.h b/dlls/winemac.drv/macdrv.h index 1b7e6318f1a..ada7ca35587 100644 --- a/dlls/winemac.drv/macdrv.h +++ b/dlls/winemac.drv/macdrv.h @@ -289,7 +289,7 @@ extern NTSTATUS macdrv_client_func(enum macdrv_client_funcs func, const void *pa
static inline LRESULT send_message(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { - return NtUserMessageCall(hwnd, msg, wparam, lparam, NULL, NtUserSendMessage, FALSE); + return NtUserMessageCall(hwnd, msg, wparam, lparam, NULL, NtUserSendDriverMessage, FALSE); }
static inline LRESULT send_message_timeout(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam, diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h index 07bdd7610d5..8721360536f 100644 --- a/dlls/winex11.drv/x11drv.h +++ b/dlls/winex11.drv/x11drv.h @@ -861,7 +861,7 @@ static inline UINT get_palette_entries( HPALETTE palette, UINT start, UINT count
static inline LRESULT send_message( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam ) { - return NtUserMessageCall( hwnd, msg, wparam, lparam, NULL, NtUserSendMessage, FALSE ); + return NtUserMessageCall( hwnd, msg, wparam, lparam, NULL, NtUserSendDriverMessage, FALSE ); }
static inline LRESULT send_message_timeout( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam, diff --git a/include/ntuser.h b/include/ntuser.h index 961d34d4db6..d724ccad103 100644 --- a/include/ntuser.h +++ b/include/ntuser.h @@ -297,10 +297,11 @@ enum /* Wine-specific exports */ NtUserClipboardWindowProc = 0x0300, NtUserGetDispatchParams = 0x3001, - NtUserSpyGetMsgName = 0x3002, - NtUserSpyEnter = 0x0303, - NtUserSpyExit = 0x0304, - NtUserWinProcResult = 0x0305, + NtUserSendDriverMessage = 0x3002, + NtUserSpyGetMsgName = 0x3003, + NtUserSpyEnter = 0x0304, + NtUserSpyExit = 0x0305, + NtUserWinProcResult = 0x0306, };
/* NtUserThunkedMenuItemInfo codes */