[PATCH 5/5] user32: Implement GetRawInputDeviceInfoA().

Henri Verbeet hverbeet at codeweavers.com
Sun Oct 21 13:20:40 CDT 2012


---
 dlls/user32/input.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/dlls/user32/input.c b/dlls/user32/input.c
index 9fdc124..b21c674 100644
--- a/dlls/user32/input.c
+++ b/dlls/user32/input.c
@@ -606,11 +606,17 @@ UINT WINAPI DECLSPEC_HOTPATCH GetRawInputBuffer(PRAWINPUT pData, PUINT pcbSize,
 /******************************************************************
 *		GetRawInputDeviceInfoA (USER32.@)
 */
-UINT WINAPI GetRawInputDeviceInfoA(HANDLE hDevice, UINT uiCommand, LPVOID pData, PUINT pcbSize)
+UINT WINAPI GetRawInputDeviceInfoA(HANDLE device, UINT command, void *data, UINT *data_size)
 {
-    FIXME("(hDevice=%p, uiCommand=%d, pData=%p, pcbSize=%p) stub!\n", hDevice, uiCommand, pData, pcbSize);
+    UINT ret;
 
-    return 0;
+    TRACE("device %p, command %u, data %p, data_size %p.\n", device, command, data, data_size);
+
+    ret = GetRawInputDeviceInfoW(device, command, data, data_size);
+    if (command == RIDI_DEVICENAME && ret && ret != ~0U)
+        ret = WideCharToMultiByte(CP_ACP, 0, data, -1, data, *data_size, NULL, NULL);
+
+    return ret;
 }
 
 
-- 
1.7.8.6




More information about the wine-patches mailing list