Module: wine Branch: master Commit: 45e6dfc19249ceb506c4610d8abd206a11943bc7 URL: https://gitlab.winehq.org/wine/wine/-/commit/45e6dfc19249ceb506c4610d8abd206...
Author: Rémi Bernon rbernon@codeweavers.com Date: Thu Jan 26 12:38:35 2023 +0100
win32u: Stub NtUserGetPointerInfoList syscall.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53847 Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51537
---
dlls/win32u/input.c | 11 +++++++++++ dlls/win32u/syscall.c | 1 + dlls/win32u/win32u.spec | 2 +- dlls/wow64win/syscall.h | 1 + dlls/wow64win/user.c | 14 ++++++++++++++ 5 files changed, 28 insertions(+), 1 deletion(-)
diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c index 809bd7bbbc9..36f7404b296 100644 --- a/dlls/win32u/input.c +++ b/dlls/win32u/input.c @@ -2174,6 +2174,17 @@ BOOL WINAPI NtUserIsMouseInPointerEnabled(void) return FALSE; }
+/********************************************************************** + * NtUserGetPointerInfoList (win32u.@) + */ +BOOL WINAPI NtUserGetPointerInfoList( UINT32 id, POINTER_INPUT_TYPE type, UINT_PTR unk0, UINT_PTR unk1, SIZE_T size, + UINT32 *entry_count, UINT32 *pointer_count, void *pointer_info ) +{ + FIXME( "id %#x, type %#x, unk0 %#zx, unk1 %#zx, size %#zx, entry_count %p, pointer_count %p, pointer_info %p stub!\n", + id, (int)type, unk0, unk1, (size_t)size, entry_count, pointer_count, pointer_info ); + RtlSetLastWin32Error( ERROR_CALL_NOT_IMPLEMENTED ); + return FALSE; +}
HWND get_shell_window(void) { diff --git a/dlls/win32u/syscall.c b/dlls/win32u/syscall.c index 3e3c5aba58c..9020aa01126 100644 --- a/dlls/win32u/syscall.c +++ b/dlls/win32u/syscall.c @@ -193,6 +193,7 @@ static void * const syscalls[] = NtUserGetMouseMovePointsEx, NtUserGetObjectInformation, NtUserGetOpenClipboardWindow, + NtUserGetPointerInfoList, NtUserGetPriorityClipboardFormat, NtUserGetProcessDpiAwarenessContext, NtUserGetProcessWindowStation, diff --git a/dlls/win32u/win32u.spec b/dlls/win32u/win32u.spec index 0c4d4a3971d..6e1a0a51175 100644 --- a/dlls/win32u/win32u.spec +++ b/dlls/win32u/win32u.spec @@ -971,7 +971,7 @@ @ stub NtUserGetPointerDeviceRects @ stub NtUserGetPointerDevices @ stub NtUserGetPointerFrameTimes -@ stub NtUserGetPointerInfoList +@ stdcall -syscall NtUserGetPointerInfoList(long long long long long ptr ptr ptr) @ stub NtUserGetPointerInputTransform @ stub NtUserGetPointerProprietaryId @ stub NtUserGetPointerType diff --git a/dlls/wow64win/syscall.h b/dlls/wow64win/syscall.h index ca491f2a6b1..4977013c595 100644 --- a/dlls/wow64win/syscall.h +++ b/dlls/wow64win/syscall.h @@ -179,6 +179,7 @@ SYSCALL_ENTRY( NtUserGetMouseMovePointsEx ) \ SYSCALL_ENTRY( NtUserGetObjectInformation ) \ SYSCALL_ENTRY( NtUserGetOpenClipboardWindow ) \ + SYSCALL_ENTRY( NtUserGetPointerInfoList ) \ SYSCALL_ENTRY( NtUserGetPriorityClipboardFormat ) \ SYSCALL_ENTRY( NtUserGetProcessDpiAwarenessContext ) \ SYSCALL_ENTRY( NtUserGetProcessWindowStation ) \ diff --git a/dlls/wow64win/user.c b/dlls/wow64win/user.c index 7afd0ca0ffe..2ce82907a88 100644 --- a/dlls/wow64win/user.c +++ b/dlls/wow64win/user.c @@ -2246,6 +2246,20 @@ NTSTATUS WINAPI wow64_NtUserGetOpenClipboardWindow( UINT *args ) return HandleToUlong( NtUserGetOpenClipboardWindow() ); }
+NTSTATUS WINAPI wow64_NtUserGetPointerInfoList( UINT *args ) +{ + UINT id = get_ulong( &args ); + UINT type = get_ulong( &args ); + UINT unk0 = get_ulong( &args ); + UINT unk1 = get_ulong( &args ); + UINT size = get_ulong( &args ); + void *entry_count = get_ptr( &args ); + void *pointer_count = get_ptr( &args ); + void *pointer_info = get_ptr( &args ); + + return NtUserGetPointerInfoList( id, type, unk0, unk1, size, entry_count, pointer_count, pointer_info ); +} + NTSTATUS WINAPI wow64_NtUserGetPriorityClipboardFormat( UINT *args ) { UINT *list = get_ptr( &args );