winepulse.drv: Implement PKEY_AudioEndpoint_PhysicalSpeakers device prop.
[wine.git] / include / ntuser.h
blobb7e2e63dcb3670a354300ccb3573db9e9d02b549
1 /*
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
19 #ifndef _NTUSER_
20 #define _NTUSER_
22 #include <winuser.h>
23 #include <wingdi.h>
24 #include <winternl.h>
26 /* KernelCallbackTable codes, not compatible with Windows */
27 enum
29 NtUserCallEnumDisplayMonitor,
30 NtUserCallWinEventHook,
31 NtUserCallVulkanDebugReportCallback,
32 NtUserCallVulkanDebugUtilsCallback,
33 NtUserCallCount
36 /* NtUserCallEnumDisplayMonitor params */
37 struct enum_display_monitor_params
39 MONITORENUMPROC proc;
40 HMONITOR monitor;
41 HDC hdc;
42 RECT rect;
43 LPARAM lparam;
46 /* NtUserCallWinEventHook params */
47 struct win_hook_proc_params
49 DWORD event;
50 HWND hwnd;
51 LONG object_id;
52 LONG child_id;
53 void *handle;
54 WINEVENTPROC proc;
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 */
66 enum
68 NtUserGetInputState,
69 /* temporary exports */
70 NtUserThreadDetach,
73 /* NtUserCallOneParam codes, not compatible with Windows */
74 enum
76 NtUserGetClipCursor,
77 NtUserGetCursorPos,
78 NtUserGetPrimaryMonitorRect,
79 NtUserGetSysColor,
80 NtUserGetSysColorBrush,
81 NtUserGetSysColorPen,
82 NtUserGetSystemMetrics,
83 NtUserGetVirtualScreenRect,
84 NtUserMessageBeep,
85 NtUserRealizePalette,
86 /* temporary exports */
87 NtUserFlushWindowSurfaces,
88 NtUserGetDeskPattern,
89 NtUserIncrementKeyStateCounter,
90 NtUserSetCallbacks,
93 /* NtUserCallTwoParam codes, not compatible with Windows */
94 enum
96 NtUserGetMonitorInfo,
97 NtUserGetSystemMetricsForDpi,
98 NtUserMirrorRgn,
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,
113 WM_WINE_SHOWWINDOW,
114 WM_WINE_SETPARENT,
115 WM_WINE_SETWINDOWLONG,
116 WM_WINE_SETSTYLE,
117 WM_WINE_SETACTIVEWINDOW,
118 WM_WINE_KEYBOARD_LL_HOOK,
119 WM_WINE_MOUSE_LL_HOOK,
120 WM_WINE_CLIPCURSOR,
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,
143 ULONG heap_size );
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_ */