[PATCH 2/4] user32: Correctly fill the RAWINPUT structure on WoW64.

Zebediah Figura wine at gitlab.winehq.org
Mon Jun 13 02:18:56 CDT 2022


From: Zebediah Figura <zfigura at codeweavers.com>

This changes the offset of the wParam field.
---
 dlls/user32/rawinput.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/dlls/user32/rawinput.c b/dlls/user32/rawinput.c
index ab542956f11..99e2270b77c 100644
--- a/dlls/user32/rawinput.c
+++ b/dlls/user32/rawinput.c
@@ -646,12 +646,20 @@ UINT WINAPI GetRawInputData(HRAWINPUT rawinput, UINT command, void *data, UINT *
 }
 
 #ifdef _WIN64
+typedef RAWINPUTHEADER RAWINPUTHEADER64;
 typedef RAWINPUT RAWINPUT64;
 #else
 typedef struct
 {
-    RAWINPUTHEADER header;
-    char pad[8];
+    DWORD dwType;
+    DWORD dwSize;
+    ULONGLONG hDevice;
+    ULONGLONG wParam;
+} RAWINPUTHEADER64;
+
+typedef struct
+{
+    RAWINPUTHEADER64 header;
     union {
         RAWMOUSE    mouse;
         RAWKEYBOARD keyboard;
-- 
GitLab


https://gitlab.winehq.org/wine/wine/-/merge_requests/233



More information about the wine-devel mailing list