From 87801a65f7228446d4ea8b9b84ec5c500afcea15 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sun, 1 Dec 2019 19:40:17 +0100 Subject: [PATCH] [PSDK] Add some missing definitions. CORE-16441 --- sdk/include/psdk/windef.h | 15 ++++++++ sdk/include/psdk/wingdi.h | 4 +++ sdk/include/psdk/winuser.h | 74 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 93 insertions(+) diff --git a/sdk/include/psdk/windef.h b/sdk/include/psdk/windef.h index bd0278a2181..a1f5581e3be 100644 --- a/sdk/include/psdk/windef.h +++ b/sdk/include/psdk/windef.h @@ -280,6 +280,21 @@ DECLARE_HANDLE(HMONITOR); DECLARE_HANDLE(HWINEVENTHOOK); DECLARE_HANDLE(HUMPD); +DECLARE_HANDLE(DPI_AWARENESS_CONTEXT); + +typedef enum DPI_AWARENESS { + DPI_AWARENESS_INVALID = -1, + DPI_AWARENESS_UNAWARE = 0, + DPI_AWARENESS_SYSTEM_AWARE, + DPI_AWARENESS_PER_MONITOR_AWARE +} DPI_AWARENESS; + +#define DPI_AWARENESS_CONTEXT_UNAWARE ((DPI_AWARENESS_CONTEXT)-1) +#define DPI_AWARENESS_CONTEXT_SYSTEM_AWARE ((DPI_AWARENESS_CONTEXT)-2) +#define DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE ((DPI_AWARENESS_CONTEXT)-3) +#define DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 ((DPI_AWARENESS_CONTEXT)-4) +#define DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED ((DPI_AWARENESS_CONTEXT)-5) + typedef int HFILE; typedef HICON HCURSOR; typedef DWORD COLORREF; diff --git a/sdk/include/psdk/wingdi.h b/sdk/include/psdk/wingdi.h index 5cb03cce58e..3cbfb75069d 100644 --- a/sdk/include/psdk/wingdi.h +++ b/sdk/include/psdk/wingdi.h @@ -1401,6 +1401,10 @@ typedef struct _DRAWPATRECT { #define DISPLAY_DEVICE_DISCONNECT 0x02000000 #define DISPLAY_DEVICE_REMOTE 0x04000000 #define DISPLAY_DEVICE_MODESPRUNED 0x08000000 + +#define DISPLAY_DEVICE_ACTIVE 0x00000001 +#define DISPLAY_DEVICE_ATTACHED 0x00000002 + #ifndef RC_INVOKED typedef struct _ABC { int abcA; diff --git a/sdk/include/psdk/winuser.h b/sdk/include/psdk/winuser.h index 3ec3858e12c..7e1a9ff2eb3 100644 --- a/sdk/include/psdk/winuser.h +++ b/sdk/include/psdk/winuser.h @@ -2768,6 +2768,7 @@ extern "C" { #define MONITOR_DEFAULTTOPRIMARY 1 #define MONITOR_DEFAULTTONEAREST 2 #define MONITORINFOF_PRIMARY 1 +#define EDD_GET_DEVICE_INTERFACE_NAME 0x00000001 #define EDS_RAWMODE 0x00000002 #define EDS_ROTATEDMODE 0x00000004 #define ISMEX_NOSEND 0x00000000 @@ -3932,6 +3933,41 @@ typedef struct tagRAWINPUTDEVICELIST { HANDLE hDevice; DWORD dwType; } RAWINPUTDEVICELIST,*PRAWINPUTDEVICELIST; + +typedef struct tagRID_DEVICE_INFO_MOUSE { + DWORD dwId; + DWORD dwNumberOfButtons; + DWORD dwSampleRate; + BOOL fHasHorizontalWheel; +} RID_DEVICE_INFO_MOUSE, *PRID_DEVICE_INFO_MOUSE; + +typedef struct tagRID_DEVICE_INFO_KEYBOARD { + DWORD dwType; + DWORD dwSubType; + DWORD dwKeyboardMode; + DWORD dwNumberOfFunctionKeys; + DWORD dwNumberOfIndicators; + DWORD dwNumberOfKeysTotal; +} RID_DEVICE_INFO_KEYBOARD, *PRID_DEVICE_INFO_KEYBOARD; + +typedef struct tagRID_DEVICE_INFO_HID { + DWORD dwVendorId; + DWORD dwProductId; + DWORD dwVersionNumber; + USHORT usUsagePage; + USHORT usUsage; +} RID_DEVICE_INFO_HID, *PRID_DEVICE_INFO_HID; + +typedef struct tagRID_DEVICE_INFO { + DWORD cbSize; + DWORD dwType; + union { + RID_DEVICE_INFO_MOUSE mouse; + RID_DEVICE_INFO_KEYBOARD keyboard; + RID_DEVICE_INFO_HID hid; + } DUMMYUNIONNAME; +} RID_DEVICE_INFO, *PRID_DEVICE_INFO, *LPRID_DEVICE_INFO; + #endif /* (_WIN32_WINNT >= 0x0501) */ #define AnsiToOem CharToOemA @@ -3953,6 +3989,44 @@ typedef struct tagRAWINPUTDEVICELIST { } #define POINTTOPOINTS(p) ((POINTS)MAKELONG((p).x,(p).y)) +#if (WINVER >= 0x0601) + +typedef enum tagINPUT_MESSAGE_DEVICE_TYPE { + IMDT_UNAVAILABLE = 0x00, + IMDT_KEYBOARD = 0x01, + IMDT_MOUSE = 0x02, + IMDT_TOUCH = 0x04, + IMDT_PEN = 0x08, + IMDT_TOUCHPAD = 0x10 +} INPUT_MESSAGE_DEVICE_TYPE; + +typedef enum tagINPUT_MESSAGE_ORIGIN_ID { + IMO_UNAVAILABLE = 0x00, + IMO_HARDWARE = 0x01, + IMO_INJECTED = 0x02, + IMO_SYSTEM = 0x04 +} INPUT_MESSAGE_ORIGIN_ID; + +typedef struct tagINPUT_MESSAGE_SOURCE { + INPUT_MESSAGE_DEVICE_TYPE deviceType; + INPUT_MESSAGE_ORIGIN_ID originId; +} INPUT_MESSAGE_SOURCE; + +#endif /* WINVER >= 0x0601 */ + +#if(WINVER >= 0x0602) + +enum tagPOINTER_INPUT_TYPE { + PT_POINTER = 1, + PT_TOUCH, + PT_PEN, + PT_MOUSE, + PT_TOUCHPAD +}; +typedef DWORD POINTER_INPUT_TYPE; + +#endif /* WINVER >= 0x0602 */ + HKL WINAPI ActivateKeyboardLayout(_In_ HKL, _In_ UINT); BOOL WINAPI AdjustWindowRect(_Inout_ LPRECT, _In_ DWORD, _In_ BOOL); BOOL WINAPI AdjustWindowRectEx(_Inout_ LPRECT, _In_ DWORD, _In_ BOOL, _In_ DWORD);