2 * Copyright 2021 Jacek Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
26 /* KernelCallbackTable codes, not compatible with Windows */
29 NtUserCallEnumDisplayMonitor
,
30 NtUserCallWinEventHook
,
31 NtUserCallVulkanDebugReportCallback
,
32 NtUserCallVulkanDebugUtilsCallback
,
36 /* NtUserCallEnumDisplayMonitor params */
37 struct enum_display_monitor_params
46 /* NtUserCallWinEventHook params */
47 struct win_hook_proc_params
55 WCHAR module
[MAX_PATH
];
58 /* process DPI awareness contexts */
59 #define NTUSER_DPI_UNAWARE 0x00006010
60 #define NTUSER_DPI_SYSTEM_AWARE 0x00006011
61 #define NTUSER_DPI_PER_MONITOR_AWARE 0x00000012
62 #define NTUSER_DPI_PER_MONITOR_AWARE_V2 0x00000022
63 #define NTUSER_DPI_PER_UNAWARE_GDISCALED 0x40006010
65 /* NtUserCallNoParam codes, not compatible with Windows */
69 /* temporary exports */
73 /* NtUserCallOneParam codes, not compatible with Windows */
78 NtUserGetPrimaryMonitorRect
,
80 NtUserGetSysColorBrush
,
82 NtUserGetSystemMetrics
,
83 NtUserGetVirtualScreenRect
,
86 /* temporary exports */
87 NtUserFlushWindowSurfaces
,
89 NtUserIncrementKeyStateCounter
,
93 /* NtUserCallTwoParam codes, not compatible with Windows */
97 NtUserGetSystemMetricsForDpi
,
99 NtUserMonitorFromRect
,
100 NtUserUnhookWindowsHook
,
101 /* temporary exports */
102 NtUserRegisterWindowSurface
,
105 /* color index used to retrieve system 55aa brush */
106 #define COLOR_55AA_BRUSH 0x100
108 /* internal messages codes */
109 enum wine_internal_message
111 WM_WINE_DESTROYWINDOW
= 0x80000000,
112 WM_WINE_SETWINDOWPOS
,
115 WM_WINE_SETWINDOWLONG
,
117 WM_WINE_SETACTIVEWINDOW
,
118 WM_WINE_KEYBOARD_LL_HOOK
,
119 WM_WINE_MOUSE_LL_HOOK
,
121 WM_WINE_UPDATEWINDOWSTATE
,
122 WM_WINE_FIRST_DRIVER_MSG
= 0x80001000, /* range of messages reserved for the USER driver */
123 WM_WINE_LAST_DRIVER_MSG
= 0x80001fff
127 HKL WINAPI
NtUserActivateKeyboardLayout( HKL layout
, UINT flags
);
128 BOOL WINAPI
NtUserAddClipboardFormatListener( HWND hwnd
);
129 BOOL WINAPI
NtUserAttachThreadInput( DWORD from
, DWORD to
, BOOL attach
);
130 NTSTATUS WINAPI
NtUserBuildHwndList( HDESK desktop
, ULONG unk2
, ULONG unk3
, ULONG unk4
,
131 ULONG thread_id
, ULONG count
, HWND
*buffer
, ULONG
*size
);
132 ULONG_PTR WINAPI
NtUserCallNoParam( ULONG code
);
133 ULONG_PTR WINAPI
NtUserCallOneParam( ULONG_PTR arg
, ULONG code
);
134 ULONG_PTR WINAPI
NtUserCallTwoParam( ULONG_PTR arg1
, ULONG_PTR arg2
, ULONG code
);
135 LONG WINAPI
NtUserChangeDisplaySettings( UNICODE_STRING
*devname
, DEVMODEW
*devmode
, HWND hwnd
,
136 DWORD flags
, void *lparam
);
137 BOOL WINAPI
NtUserClipCursor( const RECT
*rect
);
138 BOOL WINAPI
NtUserCloseDesktop( HDESK handle
);
139 BOOL WINAPI
NtUserCloseWindowStation( HWINSTA handle
);
140 INT WINAPI
NtUserCountClipboardFormats(void);
141 HDESK WINAPI
NtUserCreateDesktopEx( OBJECT_ATTRIBUTES
*attr
, UNICODE_STRING
*device
,
142 DEVMODEW
*devmode
, DWORD flags
, ACCESS_MASK access
,
144 HWINSTA WINAPI
NtUserCreateWindowStation( OBJECT_ATTRIBUTES
*attr
, ACCESS_MASK mask
, ULONG arg3
,
145 ULONG arg4
, ULONG arg5
, ULONG arg6
, ULONG arg7
);
146 NTSTATUS WINAPI
NtUserEnumDisplayDevices( UNICODE_STRING
*device
, DWORD index
,
147 DISPLAY_DEVICEW
*info
, DWORD flags
);
148 BOOL WINAPI
NtUserEnumDisplayMonitors( HDC hdc
, RECT
*rect
, MONITORENUMPROC proc
, LPARAM lp
);
149 BOOL WINAPI
NtUserEnumDisplaySettings( UNICODE_STRING
*device
, DWORD mode
,
150 DEVMODEW
*dev_mode
, DWORD flags
);
151 SHORT WINAPI
NtUserGetAsyncKeyState( INT key
);
152 INT WINAPI
NtUserGetClipboardFormatName( UINT format
, WCHAR
*buffer
, INT maxlen
);
153 HWND WINAPI
NtUserGetClipboardOwner(void);
154 DWORD WINAPI
NtUserGetClipboardSequenceNumber(void);
155 HWND WINAPI
NtUserGetClipboardViewer(void);
156 HCURSOR WINAPI
NtUserGetCursor(void);
157 LONG WINAPI
NtUserGetDisplayConfigBufferSizes( UINT32 flags
, UINT32
*num_path_info
,
158 UINT32
*num_mode_info
);
159 UINT WINAPI
NtUserGetDoubleClickTime(void);
160 BOOL WINAPI
NtUserGetDpiForMonitor( HMONITOR monitor
, UINT type
, UINT
*x
, UINT
*y
);
161 HWND WINAPI
NtUserGetForegroundWindow(void);
162 INT WINAPI
NtUserGetKeyNameText( LONG lparam
, WCHAR
*buffer
, INT size
);
163 SHORT WINAPI
NtUserGetKeyState( INT vkey
);
164 HKL WINAPI
NtUserGetKeyboardLayout( DWORD thread_id
);
165 UINT WINAPI
NtUserGetKeyboardLayoutList( INT size
, HKL
*layouts
);
166 BOOL WINAPI
NtUserGetKeyboardLayoutName( WCHAR
*name
);
167 BOOL WINAPI
NtUserGetKeyboardState( BYTE
*state
);
168 BOOL WINAPI
NtUserGetLayeredWindowAttributes( HWND hwnd
, COLORREF
*key
, BYTE
*alpha
, DWORD
*flags
);
169 int WINAPI
NtUserGetMouseMovePointsEx( UINT size
, MOUSEMOVEPOINT
*ptin
, MOUSEMOVEPOINT
*ptout
,
170 int count
, DWORD resolution
);
171 BOOL WINAPI
NtUserGetObjectInformation( HANDLE handle
, INT index
, void *info
,
172 DWORD len
, DWORD
*needed
);
173 HWND WINAPI
NtUserGetOpenClipboardWindow(void);
174 INT WINAPI
NtUserGetPriorityClipboardFormat( UINT
*list
, INT count
);
175 HWINSTA WINAPI
NtUserGetProcessWindowStation(void);
176 HANDLE WINAPI
NtUserGetProp( HWND hwnd
, const WCHAR
*str
);
177 ULONG WINAPI
NtUserGetProcessDpiAwarenessContext( HANDLE process
);
178 DWORD WINAPI
NtUserGetQueueStatus( UINT flags
);
179 ULONG WINAPI
NtUserGetSystemDpiForProcess( HANDLE process
);
180 HDESK WINAPI
NtUserGetThreadDesktop( DWORD thread
);
181 BOOL WINAPI
NtUserGetUpdatedClipboardFormats( UINT
*formats
, UINT size
, UINT
*out_size
);
182 BOOL WINAPI
NtUserIsClipboardFormatAvailable( UINT format
);
183 UINT WINAPI
NtUserMapVirtualKeyEx( UINT code
, UINT type
, HKL layout
);
184 void WINAPI
NtUserNotifyWinEvent( DWORD event
, HWND hwnd
, LONG object_id
, LONG child_id
);
185 HWINSTA WINAPI
NtUserOpenWindowStation( OBJECT_ATTRIBUTES
*attr
, ACCESS_MASK access
);
186 BOOL WINAPI
NtUserSetObjectInformation( HANDLE handle
, INT index
, void *info
, DWORD len
);
187 HDESK WINAPI
NtUserOpenDesktop( OBJECT_ATTRIBUTES
*attr
, DWORD flags
, ACCESS_MASK access
);
188 HDESK WINAPI
NtUserOpenInputDesktop( DWORD flags
, BOOL inherit
, ACCESS_MASK access
);
189 BOOL WINAPI
NtUserRemoveClipboardFormatListener( HWND hwnd
);
190 HANDLE WINAPI
NtUserRemoveProp( HWND hwnd
, const WCHAR
*str
);
191 BOOL WINAPI
NtUserScrollDC( HDC hdc
, INT dx
, INT dy
, const RECT
*scroll
, const RECT
*clip
,
192 HRGN ret_update_rgn
, RECT
*update_rect
);
193 HPALETTE WINAPI
NtUserSelectPalette( HDC hdc
, HPALETTE palette
, WORD force_background
);
194 BOOL WINAPI
NtUserSetCursorPos( INT x
, INT y
);
195 BOOL WINAPI
NtUserSetKeyboardState( BYTE
*state
);
196 BOOL WINAPI
NtUserSetProcessDpiAwarenessContext( ULONG awareness
, ULONG unknown
);
197 BOOL WINAPI
NtUserSetProcessWindowStation( HWINSTA handle
);
198 BOOL WINAPI
NtUserSetProp( HWND hwnd
, const WCHAR
*str
, HANDLE handle
);
199 BOOL WINAPI
NtUserSetSysColors( INT count
, const INT
*colors
, const COLORREF
*values
);
200 BOOL WINAPI
NtUserSetThreadDesktop( HDESK handle
);
201 HHOOK WINAPI
NtUserSetWindowsHookEx( HINSTANCE inst
, UNICODE_STRING
*module
, DWORD tid
, INT id
,
202 HOOKPROC proc
, BOOL ansi
);
203 HWINEVENTHOOK WINAPI
NtUserSetWinEventHook( DWORD event_min
, DWORD event_max
, HMODULE inst
,
204 UNICODE_STRING
*module
, WINEVENTPROC proc
,
205 DWORD pid
, DWORD tid
, DWORD flags
);
206 INT WINAPI
NtUserShowCursor( BOOL show
);
207 BOOL WINAPI
NtUserSystemParametersInfo( UINT action
, UINT val
, void *ptr
, UINT winini
);
208 BOOL WINAPI
NtUserSystemParametersInfoForDpi( UINT action
, UINT val
, PVOID ptr
, UINT winini
, UINT dpi
);
209 INT WINAPI
NtUserToUnicodeEx( UINT virt
, UINT scan
, const BYTE
*state
,
210 WCHAR
*str
, int size
, UINT flags
, HKL layout
);
211 BOOL WINAPI
NtUserUnhookWinEvent( HWINEVENTHOOK hEventHook
);
212 BOOL WINAPI
NtUserUnhookWindowsHookEx( HHOOK handle
);
213 BOOL WINAPI
NtUserUnregisterHotKey( HWND hwnd
, INT id
);
214 WORD WINAPI
NtUserVkKeyScanEx( WCHAR chr
, HKL layout
);
216 #endif /* _NTUSER_ */