Commit 6490088e authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

win32u: Move NtUserUnhookWindowsHookEx implementation from user32.

parent fcf7d2a1
...@@ -538,27 +538,6 @@ BOOL WINAPI UnhookWindowsHook( INT id, HOOKPROC proc ) ...@@ -538,27 +538,6 @@ BOOL WINAPI UnhookWindowsHook( INT id, HOOKPROC proc )
} }
/***********************************************************************
* UnhookWindowsHookEx (USER32.@)
*/
BOOL WINAPI UnhookWindowsHookEx( HHOOK hhook )
{
BOOL ret;
SERVER_START_REQ( remove_hook )
{
req->handle = wine_server_user_handle( hhook );
req->id = 0;
ret = !wine_server_call_err( req );
if (ret) get_user_thread_info()->active_hooks = reply->active_hooks;
}
SERVER_END_REQ;
if (!ret && GetLastError() == ERROR_INVALID_HANDLE) SetLastError( ERROR_INVALID_HOOK_HANDLE );
return ret;
}
/*********************************************************************** /***********************************************************************
* CallNextHookEx (USER32.@) * CallNextHookEx (USER32.@)
*/ */
......
...@@ -772,7 +772,7 @@ ...@@ -772,7 +772,7 @@
# @ stub TranslateMessageEx # @ stub TranslateMessageEx
@ stdcall UnhookWinEvent(long) NtUserUnhookWinEvent @ stdcall UnhookWinEvent(long) NtUserUnhookWinEvent
@ stdcall UnhookWindowsHook(long ptr) @ stdcall UnhookWindowsHook(long ptr)
@ stdcall UnhookWindowsHookEx(long) @ stdcall UnhookWindowsHookEx(long) NtUserUnhookWindowsHookEx
@ stdcall UnionRect(ptr ptr ptr) @ stdcall UnionRect(ptr ptr ptr)
@ stdcall UnloadKeyboardLayout(long) @ stdcall UnloadKeyboardLayout(long)
@ stub UnlockWindowStation @ stub UnlockWindowStation
......
...@@ -127,6 +127,25 @@ HHOOK WINAPI NtUserSetWindowsHookEx( HINSTANCE inst, UNICODE_STRING *module, DWO ...@@ -127,6 +127,25 @@ HHOOK WINAPI NtUserSetWindowsHookEx( HINSTANCE inst, UNICODE_STRING *module, DWO
} }
/*********************************************************************** /***********************************************************************
* NtUserUnhookWindowsHookEx (win32u.@)
*/
BOOL WINAPI NtUserUnhookWindowsHookEx( HHOOK handle )
{
NTSTATUS status;
SERVER_START_REQ( remove_hook )
{
req->handle = wine_server_user_handle( handle );
req->id = 0;
status = wine_server_call_err( req );
if (!status) get_user_thread_info()->active_hooks = reply->active_hooks;
}
SERVER_END_REQ;
if (status == STATUS_INVALID_HANDLE) SetLastError( ERROR_INVALID_HOOK_HANDLE );
return !status;
}
/***********************************************************************
* NtUserSetWinEventHook (win32u.@) * NtUserSetWinEventHook (win32u.@)
*/ */
HWINEVENTHOOK WINAPI NtUserSetWinEventHook( DWORD event_min, DWORD event_max, HMODULE inst, HWINEVENTHOOK WINAPI NtUserSetWinEventHook( DWORD event_min, DWORD event_max, HMODULE inst,
......
...@@ -143,6 +143,7 @@ static void * const syscalls[] = ...@@ -143,6 +143,7 @@ static void * const syscalls[] =
NtUserSetWinEventHook, NtUserSetWinEventHook,
NtUserSetWindowsHookEx, NtUserSetWindowsHookEx,
NtUserUnhookWinEvent, NtUserUnhookWinEvent,
NtUserUnhookWindowsHookEx,
}; };
static BYTE arguments[ARRAY_SIZE(syscalls)]; static BYTE arguments[ARRAY_SIZE(syscalls)];
......
...@@ -1285,7 +1285,7 @@ ...@@ -1285,7 +1285,7 @@
@ stub NtUserTranslateMessage @ stub NtUserTranslateMessage
@ stub NtUserUndelegateInput @ stub NtUserUndelegateInput
@ stdcall -syscall NtUserUnhookWinEvent(long) @ stdcall -syscall NtUserUnhookWinEvent(long)
@ stub NtUserUnhookWindowsHookEx @ stdcall -syscall NtUserUnhookWindowsHookEx(long)
@ stub NtUserUnloadKeyboardLayout @ stub NtUserUnloadKeyboardLayout
@ stub NtUserUnlockWindowStation @ stub NtUserUnlockWindowStation
@ stub NtUserUnregisterClass @ stub NtUserUnregisterClass
......
...@@ -129,6 +129,7 @@ ...@@ -129,6 +129,7 @@
SYSCALL_ENTRY( NtUserSetThreadDesktop ) \ SYSCALL_ENTRY( NtUserSetThreadDesktop ) \
SYSCALL_ENTRY( NtUserSetWinEventHook ) \ SYSCALL_ENTRY( NtUserSetWinEventHook ) \
SYSCALL_ENTRY( NtUserSetWindowsHookEx ) \ SYSCALL_ENTRY( NtUserSetWindowsHookEx ) \
SYSCALL_ENTRY( NtUserUnhookWinEvent ) SYSCALL_ENTRY( NtUserUnhookWinEvent ) \
SYSCALL_ENTRY( NtUserUnhookWindowsHookEx )
#endif /* __WOW64WIN_SYSCALL_H */ #endif /* __WOW64WIN_SYSCALL_H */
...@@ -408,3 +408,10 @@ NTSTATUS WINAPI wow64_NtUserSetWindowsHookEx( UINT *args ) ...@@ -408,3 +408,10 @@ NTSTATUS WINAPI wow64_NtUserSetWindowsHookEx( UINT *args )
tid, id, proc, ansi ); tid, id, proc, ansi );
return HandleToUlong( ret ); return HandleToUlong( ret );
} }
NTSTATUS WINAPI wow64_NtUserUnhookWindowsHookEx( UINT *args )
{
HHOOK handle = get_handle( &args );
return NtUserUnhookWindowsHookEx( handle );
}
...@@ -204,6 +204,7 @@ BOOL WINAPI NtUserSystemParametersInfoForDpi( UINT action, UINT val, PVOID pt ...@@ -204,6 +204,7 @@ BOOL WINAPI NtUserSystemParametersInfoForDpi( UINT action, UINT val, PVOID pt
INT WINAPI NtUserToUnicodeEx( UINT virt, UINT scan, const BYTE *state, INT WINAPI NtUserToUnicodeEx( UINT virt, UINT scan, const BYTE *state,
WCHAR *str, int size, UINT flags, HKL layout ); WCHAR *str, int size, UINT flags, HKL layout );
BOOL WINAPI NtUserUnhookWinEvent( HWINEVENTHOOK hEventHook ); BOOL WINAPI NtUserUnhookWinEvent( HWINEVENTHOOK hEventHook );
BOOL WINAPI NtUserUnhookWindowsHookEx( HHOOK handle );
BOOL WINAPI NtUserUnregisterHotKey( HWND hwnd, INT id ); BOOL WINAPI NtUserUnregisterHotKey( HWND hwnd, INT id );
WORD WINAPI NtUserVkKeyScanEx( WCHAR chr, HKL layout ); WORD WINAPI NtUserVkKeyScanEx( WCHAR chr, HKL layout );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment