L. Rahyen : user32: Implement initial stubs for all raw input functions.

Alexandre Julliard julliard at winehq.org
Tue Sep 25 07:50:55 CDT 2007


Module: wine
Branch: master
Commit: 43601c282b51bd844daa181c8f2f76b0aaef8181
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=43601c282b51bd844daa181c8f2f76b0aaef8181

Author: L. Rahyen <mail at science.su>
Date:   Mon Sep 24 22:22:19 2007 +0000

user32: Implement initial stubs for all raw input functions.

---

 dlls/user32/input.c     |   92 +++++++++++++++++++++++++++++++++++++++++++++++
 dlls/user32/user32.spec |   16 ++++----
 include/winuser.h       |   69 +++++++++++++++++++++++++++++++++--
 3 files changed, 165 insertions(+), 12 deletions(-)

diff --git a/dlls/user32/input.c b/dlls/user32/input.c
index 8048412..3e16dc3 100644
--- a/dlls/user32/input.c
+++ b/dlls/user32/input.c
@@ -340,6 +340,98 @@ BOOL WINAPI GetLastInputInfo(PLASTINPUTINFO plii)
 }
 
 
+/******************************************************************
+*		GetRawInputDeviceList (USER32.@)
+*/
+UINT WINAPI GetRawInputDeviceList(PRAWINPUTDEVICELIST pRawInputDeviceList, PUINT puiNumDevices, UINT cbSize)
+{
+    FIXME("(pRawInputDeviceList=%p, puiNumDevices=%p, cbSize=%d) stub!\n", pRawInputDeviceList, puiNumDevices, cbSize);
+
+    if(pRawInputDeviceList)
+        memset(pRawInputDeviceList, 0, sizeof *pRawInputDeviceList);
+    *puiNumDevices = 0;
+    return 0;
+}
+
+
+/******************************************************************
+*		RegisterRawInputDevices (USER32.@)
+*/
+BOOL WINAPI RegisterRawInputDevices(PRAWINPUTDEVICE pRawInputDevices, UINT uiNumDevices, UINT cbSize)
+{
+    FIXME("(pRawInputDevices=%p, uiNumDevices=%d, cbSize=%d) stub!\n", pRawInputDevices, uiNumDevices, cbSize);
+
+    return TRUE;
+}
+
+
+/******************************************************************
+*		GetRawInputData (USER32.@)
+*/
+INT WINAPI GetRawInputData(HRAWINPUT hRawInput, UINT uiCommand, LPVOID pData, PUINT pcbSize, UINT cbSizeHeader)
+{
+    FIXME("(hRawInput=%p, uiCommand=%d, pData=%p, pcbSize=%p, cbSizeHeader=%d) stub!\n",
+            hRawInput, uiCommand, pData, pcbSize, cbSizeHeader);
+
+    return 0;
+}
+
+
+/******************************************************************
+*		GetRawInputBuffer (USER32.@)
+*/
+UINT WINAPI GetRawInputBuffer(PRAWINPUT pData, PUINT pcbSize, UINT cbSizeHeader)
+{
+    FIXME("(pData=%p, pcbSize=%p, cbSizeHeader=%d) stub!\n", pData, pcbSize, cbSizeHeader);
+
+    return 0;
+}
+
+
+/******************************************************************
+*		GetRawInputDeviceInfoA (USER32.@)
+*/
+UINT WINAPI GetRawInputDeviceInfoA(HANDLE hDevice, UINT uiCommand, LPVOID pData, PUINT pcbSize)
+{
+    FIXME("(hDevice=%p, uiCommand=%d, pData=%p, pcbSize=%p) stub!\n", hDevice, uiCommand, pData, pcbSize);
+
+    return 0;
+}
+
+
+/******************************************************************
+*		GetRawInputDeviceInfoW (USER32.@)
+*/
+UINT WINAPI GetRawInputDeviceInfoW(HANDLE hDevice, UINT uiCommand, LPVOID pData, PUINT pcbSize)
+{
+    FIXME("(hDevice=%p, uiCommand=%d, pData=%p, pcbSize=%p) stub!\n", hDevice, uiCommand, pData, pcbSize);
+
+    return 0;
+}
+
+
+/******************************************************************
+*		GetRegisteredRawInputDevices (USER32.@)
+*/
+UINT WINAPI GetRegisteredRawInputDevices(PRAWINPUTDEVICE pRawInputDevices, PUINT puiNumDevices, UINT cbSize)
+{
+    FIXME("(pRawInputDevices=%p, puiNumDevices=%p, cbSize=%d) stub!\n", pRawInputDevices, puiNumDevices, cbSize);
+
+    return 0;
+}
+
+
+/******************************************************************
+*		DefRawInputProc (USER32.@)
+*/
+LRESULT WINAPI DefRawInputProc(PRAWINPUT *paRawInput, INT nInput, UINT cbSizeHeader)
+{
+    FIXME("(paRawInput=%p, nInput=%d, cbSizeHeader=%d) stub!\n", *paRawInput, nInput, cbSizeHeader);
+
+    return 0;
+}
+
+
 /**********************************************************************
  *		AttachThreadInput (USER32.@)
  *
diff --git a/dlls/user32/user32.spec b/dlls/user32/user32.spec
index d626053..417b93e 100644
--- a/dlls/user32/user32.spec
+++ b/dlls/user32/user32.spec
@@ -143,7 +143,7 @@
 @ stdcall DefFrameProcW(long long long long long)
 @ stdcall DefMDIChildProcA(long long long long)
 @ stdcall DefMDIChildProcW(long long long long)
-# @ stub DefRawInputProc
+@ stdcall DefRawInputProc(ptr long long)
 @ stdcall DefWindowProcA(long long long long)
 @ stdcall DefWindowProcW(long long long long)
 @ stdcall DeferWindowPos(long long long long long long long long)
@@ -341,13 +341,13 @@
 @ stdcall GetPropA(long str)
 @ stdcall GetPropW(long wstr)
 @ stdcall GetQueueStatus(long)
-# @ stub GetRawInputBuffer
-# @ stub GetRawInputData
-# @ stub GetRawInputDeviceInfoA
-# @ stub GetRawInputDeviceInfoW
-# @ stub GetRawInputDeviceList
+@ stdcall GetRawInputBuffer(ptr ptr long)
+@ stdcall GetRawInputData(ptr long ptr ptr long)
+@ stdcall GetRawInputDeviceInfoA(ptr long ptr ptr)
+@ stdcall GetRawInputDeviceInfoW(ptr long ptr ptr)
+@ stdcall GetRawInputDeviceList(ptr ptr long)
 # @ stub GetReasonTitleFromReasonCode
-# @ stub GetRegisteredRawInputDevices
+@ stdcall GetRegisteredRawInputDevices(ptr ptr long)
 @ stdcall GetScrollBarInfo(long long ptr)
 @ stdcall GetScrollInfo(long long ptr)
 @ stdcall GetScrollPos(long long)
@@ -562,7 +562,7 @@
 @ stdcall RegisterLogonProcess(long long)
 # @ stub RegisterMessagePumpHook
 @ stub RegisterNetworkCapabilities
-# @ stub RegisterRawInputDevices
+@ stdcall RegisterRawInputDevices(ptr long long)
 @ stub RegisterServicesProcess
 @ stdcall RegisterShellHookWindow (long)
 @ stdcall RegisterSystemThread(long long)
diff --git a/include/winuser.h b/include/winuser.h
index b667aa5..ef17994 100644
--- a/include/winuser.h
+++ b/include/winuser.h
@@ -443,6 +443,59 @@ typedef struct tagINPUT
     } DUMMYUNIONNAME;
 } INPUT, *PINPUT, *LPINPUT;
 
+typedef HANDLE HRAWINPUT;
+
+typedef struct tagRAWINPUTDEVICELIST
+{
+    HANDLE hDevice;
+    DWORD dwType;
+} RAWINPUTDEVICELIST, *PRAWINPUTDEVICELIST;
+
+typedef struct tagRAWHID {
+    DWORD dwSizeHid;
+    DWORD dwCount;
+    BYTE bRawData;
+} RAWHID, *LPRAWHID;
+
+typedef struct tagRAWKEYBOARD {
+    USHORT MakeCode;
+    USHORT Flags;
+    USHORT Reserved;
+    USHORT VKey;
+    UINT Message;
+    ULONG ExtraInformation;
+} RAWKEYBOARD, *PRAWKEYBOARD, *LPRAWKEYBOARD;
+
+typedef struct tagRAWMOUSE {
+    USHORT usFlags;
+    union {
+        ULONG ulButtons;
+        struct {
+            USHORT usButtonFlags;
+            USHORT usButtonData;
+        } DUMMYSTRUCTNAME;
+    } DUMMYUNIONNAME;
+    ULONG ulRawButtons;
+    LONG  lLastX;
+    LONG  lLastY;
+    ULONG ulExtraInformation;
+} RAWMOUSE, *PRAWMOUSE, *LPRAWMOUSE;
+
+typedef struct tagRAWINPUTHEADER {
+    DWORD dwType;
+    DWORD dwSize;
+    HANDLE hDevice;
+    WPARAM wParam;
+} RAWINPUTHEADER, *PRAWINPUTHEADER;
+
+typedef struct tagRAWINPUT {
+    RAWINPUTHEADER header;
+    union {
+        RAWMOUSE    mouse;
+        RAWKEYBOARD keyboard;
+        RAWHID      hid;
+    } data;
+} RAWINPUT, *PRAWINPUT, *LPRAWINPUT;
 
 typedef struct tagRAWINPUTDEVICE {
     USHORT usUsagePage;
@@ -4457,6 +4510,7 @@ LRESULT     WINAPI DefFrameProcW(HWND,HWND,UINT,WPARAM,LPARAM);
 LRESULT     WINAPI DefMDIChildProcA(HWND,UINT,WPARAM,LPARAM);
 LRESULT     WINAPI DefMDIChildProcW(HWND,UINT,WPARAM,LPARAM);
 #define     DefMDIChildProc WINELIB_NAME_AW(DefMDIChildProc)
+LRESULT     WINAPI DefRawInputProc(PRAWINPUT*,INT,UINT);
 LRESULT     WINAPI DefWindowProcA(HWND,UINT,WPARAM,LPARAM);
 LRESULT     WINAPI DefWindowProcW(HWND,UINT,WPARAM,LPARAM);
 #define     DefWindowProc WINELIB_NAME_AW(DefWindowProc)
@@ -4613,8 +4667,14 @@ BOOL        WINAPI GetKeyboardLayoutNameA(LPSTR);
 BOOL        WINAPI GetKeyboardLayoutNameW(LPWSTR);
 #define     GetKeyboardLayoutName WINELIB_NAME_AW(GetKeyboardLayoutName)
 SHORT       WINAPI GetKeyState(INT);
-HWND      WINAPI GetLastActivePopup(HWND);
-BOOL      WINAPI GetLastInputInfo(PLASTINPUTINFO);
+HWND        WINAPI GetLastActivePopup(HWND);
+BOOL        WINAPI GetLastInputInfo(PLASTINPUTINFO);
+UINT        WINAPI GetRawInputBuffer(PRAWINPUT,PUINT,UINT);
+INT         WINAPI GetRawInputData(HRAWINPUT,UINT,LPVOID,PUINT,UINT);
+UINT        WINAPI GetRawInputDeviceInfoA(HANDLE,UINT,LPVOID,PUINT);
+UINT        WINAPI GetRawInputDeviceInfoW(HANDLE,UINT,LPVOID,PUINT);
+#define            GetRawInputDeviceInfo WINELIB_NAME_AW(GetRawInputDeviceInfo)
+UINT        WINAPI GetRawInputDeviceList(PRAWINPUTDEVICELIST,PUINT,UINT);
 BOOL        WINAPI GetLayeredWindowAttributes(HWND,COLORREF*,BYTE*,DWORD*);
 HMENU     WINAPI GetMenu(HWND);
 INT       WINAPI GetMenuItemCount(HMENU);
@@ -4831,9 +4891,10 @@ ATOM        WINAPI RegisterClassW(const WNDCLASSW *);
 ATOM        WINAPI RegisterClassExA(const WNDCLASSEXA *);
 ATOM        WINAPI RegisterClassExW(const WNDCLASSEXW *);
 #define     RegisterClassEx WINELIB_NAME_AW(RegisterClassEx)
-UINT      WINAPI RegisterClipboardFormatA(LPCSTR);
-UINT      WINAPI RegisterClipboardFormatW(LPCWSTR);
+UINT        WINAPI RegisterClipboardFormatA(LPCSTR);
+UINT        WINAPI RegisterClipboardFormatW(LPCWSTR);
 #define     RegisterClipboardFormat WINELIB_NAME_AW(RegisterClipboardFormat)
+BOOL        WINAPI RegisterRawInputDevices(PRAWINPUTDEVICE,UINT,UINT);
 UINT        WINAPI RegisterWindowMessageA(LPCSTR);
 UINT        WINAPI RegisterWindowMessageW(LPCWSTR);
 #define     RegisterWindowMessage WINELIB_NAME_AW(RegisterWindowMessage)




More information about the wine-cvs mailing list