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