1 #ifndef __WIN32K_NTUSER_H
2 #define __WIN32K_NTUSER_H
6 #define WM_SYSTIMER 280
9 NtUserGetSystemMetrics(ULONG Index
);
12 NtUserGetClassLong(HWND hWnd
, DWORD Offset
, BOOL Ansi
);
15 NtUserGetWindowLong(HWND hWnd
, DWORD Index
, BOOL Ansi
);
18 NtUserReleaseDC(HWND hWnd
, HDC hDc
);
21 NtUserGetWindowRect(HWND hWnd
, LPRECT Rect
);
24 NtUserGetClientRect(HWND hWnd
, LPRECT Rect
);
27 NtUserGetProp(HWND hWnd
, ATOM Atom
);
30 NtUserGetClientOrigin(HWND hWnd
, LPPOINT Point
);
33 NtUserGetDesktopWindow();
37 NtUserAcquireOrReleaseInputOwnership(
42 NtUserActivateKeyboardLayout(
48 NtUserAlterWindowStyle(
55 NtUserAttachThreadInput(
61 NtUserBeginPaint(HWND hWnd
, PAINTSTRUCT
* lPs
);
96 PULONG pRequiredSize
);
107 HWND_ROUTINE_REGISTERSHELLHOOKWINDOW
,
108 HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW
117 #define HWNDLOCK_ROUTINE_ARRANGEICONICWINDOWS 0x54
118 #define HWNDLOCK_ROUTINE_DRAWMENUBAR 0x55
119 #define HWNDLOCK_ROUTINE_REDRAWFRAME 0x58
120 #define HWNDLOCK_ROUTINE_SETFOREGROUNDWINDOW 0x5B
121 #define HWNDLOCK_ROUTINE_UPDATEWINDOW 0x5E
128 #define HWNDOPT_ROUTINE_SETPROGMANWINDOW 0x4A
129 #define HWNDOPT_ROUTINE_SETTASKMANWINDOW 0x4B
145 NtUserCallHwndParamLock(
158 NtUserCallNextHookEx(
164 #define NOPARAM_ROUTINE_MSQCLEARWAKEMASK 0x3
165 #define NOPARAM_ROUTINE_REGISTER_PRIMITIVE 0xffff0001 /* Private ROS */
166 #define NOPARAM_ROUTINE_DESTROY_CARET 0xffff0002
167 #define NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP 0xffff0003
168 #define NOPARAM_ROUTINE_INIT_MESSAGE_PUMP 0xffff0004
169 #define NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO 0xffff0005
170 #define NOPARAM_ROUTINE_ANYPOPUP 0xffff0006
171 #define NOPARAM_ROUTINE_CSRSS_INITIALIZED 0xffff0007
177 #define ONEPARAM_ROUTINE_GETMENU 0x01
178 #define ONEPARAM_ROUTINE_ISWINDOWUNICODE 0x02
179 #define ONEPARAM_ROUTINE_WINDOWFROMDC 0x03
180 #define ONEPARAM_ROUTINE_GETWNDCONTEXTHLPID 0x04
181 #define ONEPARAM_ROUTINE_SWAPMOUSEBUTTON 0x05
182 #define ONEPARAM_ROUTINE_SETCARETBLINKTIME 0x06
183 #define ONEPARAM_ROUTINE_GETCARETINFO 0x07
184 #define ONEPARAM_ROUTINE_SWITCHCARETSHOWING 0x08
185 #define ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS 0x09
186 #define ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO 0x0a
187 #define ONEPARAM_ROUTINE_GETCURSORPOSITION 0x0b
188 #define ONEPARAM_ROUTINE_ISWINDOWINDESTROY 0x0c
189 #define ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING 0x0d
190 #define ONEPARAM_ROUTINE_GETWINDOWINSTANCE 0x10
191 #define ONEPARAM_ROUTINE_MSQSETWAKEMASK 0x27
198 #define TWOPARAM_ROUTINE_SETDCPENCOLOR 0x45
199 #define TWOPARAM_ROUTINE_SETDCBRUSHCOLOR 0x46
200 #define TWOPARAM_ROUTINE_GETDCCOLOR 0x47
201 #define TWOPARAM_ROUTINE_GETWINDOWRGNBOX 0x48
202 #define TWOPARAM_ROUTINE_GETWINDOWRGN 0x49
203 #define TWOPARAM_ROUTINE_SETMENUBARHEIGHT 0x50
204 #define TWOPARAM_ROUTINE_SETMENUITEMRECT 0x51
205 #define TWOPARAM_ROUTINE_SETGUITHRDHANDLE 0x52
206 #define MSQ_STATE_CAPTURE 0x1
207 #define MSQ_STATE_ACTIVE 0x2
208 #define MSQ_STATE_FOCUS 0x3
209 #define MSQ_STATE_MENUOWNER 0x4
210 #define MSQ_STATE_MOVESIZE 0x5
211 #define MSQ_STATE_CARET 0x6
212 #define TWOPARAM_ROUTINE_ENABLEWINDOW 0x53
213 #define TWOPARAM_ROUTINE_UNKNOWN 0x54
214 #define TWOPARAM_ROUTINE_SHOWOWNEDPOPUPS 0x55
215 #define TWOPARAM_ROUTINE_SWITCHTOTHISWINDOW 0x56
216 #define TWOPARAM_ROUTINE_VALIDATERGN 0x57
217 #define TWOPARAM_ROUTINE_SETWNDCONTEXTHLPID 0x58
218 #define TWOPARAM_ROUTINE_SETCARETPOS 0x60
219 #define TWOPARAM_ROUTINE_GETWINDOWINFO 0x61
220 #define TWOPARAM_ROUTINE_REGISTERLOGONPROC 0x62
221 #define TWOPARAM_ROUTINE_GETSYSCOLORBRUSHES 0x63
222 #define TWOPARAM_ROUTINE_GETSYSCOLORPENS 0x64
223 #define TWOPARAM_ROUTINE_GETSYSCOLORS 0x65
224 #define TWOPARAM_ROUTINE_SETSYSCOLORS 0x66
234 NtUserChangeClipboardChain(
240 NtUserChangeDisplaySettings(
241 PUNICODE_STRING lpszDeviceName
,
242 LPDEVMODEW lpDevMode
,
248 NtUserChildWindowFromPointEx(HWND Parent
,
260 NtUserCloseClipboard(VOID
);
269 NtUserCloseWindowStation(
274 NtUserConvertMemHandle(
280 NtUserCopyAcceleratorTable(
287 NtUserCountClipboardFormats(VOID
);
291 NtUserCreateAcceleratorTable(
293 SIZE_T EntriesCount
);
305 NtUserCreateCursorIconHandle(
312 PUNICODE_STRING lpszDesktopName
,
314 ACCESS_MASK dwDesiredAccess
,
315 LPSECURITY_ATTRIBUTES lpSecurity
,
316 HWINSTA hWindowStation
);
320 NtUserCreateLocalMemHandle(
328 NtUserCreateWindowEx(
330 PUNICODE_STRING lpClassName
,
331 PUNICODE_STRING lpWindowName
,
342 BOOL bUnicodeWindow
);
346 NtUserCreateWindowStation(
347 PUNICODE_STRING lpszWindowStationName
,
348 ACCESS_MASK dwDesiredAccess
,
349 LPSECURITY_ATTRIBUTES lpSecurity
,
356 NtUserDdeGetQualityOfService(
372 NtUserDdeSetQualityOfService(
378 NtUserDeferWindowPos(HDWP WinPosInfo
,
387 NtUserDefSetText(HWND WindowHandle
, PUNICODE_STRING WindowText
);
391 NtUserDestroyAcceleratorTable(
396 NtUserDestroyCursorIcon(
401 NtUserDestroyWindow(HWND Wnd
);
403 typedef struct tagNTUSERDISPATCHMESSAGEINFO
405 BOOL HandledByKernel
;
409 } NTUSERDISPATCHMESSAGEINFO
, *PNTUSERDISPATCHMESSAGEINFO
;
413 NtUserDispatchMessage(PNTUSERDISPATCHMESSAGEINFO MsgInfo
);
434 NtUserDrawAnimatedRects(
450 NtUserDrawCaptionTemp(
469 HBRUSH hbrFlickerFreeDraw
,
476 NtUserEmptyClipboard(VOID
);
480 NtUserEnableScrollBar(
487 NtUserEndDeferWindowPosEx(
492 NtUserEndPaint(HWND hWnd
, CONST PAINTSTRUCT
* lPs
);
496 NtUserEnumDisplayDevices (
497 PUNICODE_STRING lpDevice
, /* device name */
498 DWORD iDevNum
, /* display device */
499 PDISPLAY_DEVICE lpDisplayDevice
, /* device information */
500 DWORD dwFlags
); /* reserved */
504 NtUserEnumDisplayMonitors (
507 MONITORENUMPROC lpfnEnum,
510 #define MONITORINFOF_PRIMARY 1
511 #define MONITOR_DEFAULTTONULL 0
512 #define MONITOR_DEFAULTTOPRIMARY 1
513 #define MONITOR_DEFAULTTONEAREST 2
516 NtUserEnumDisplayMonitors(
518 OPTIONAL IN LPCRECT pRect
,
519 OPTIONAL OUT HMONITOR
*hMonitorList
,
520 OPTIONAL OUT LPRECT monitorRectList
,
521 OPTIONAL IN DWORD listSize
);
526 NtUserEnumDisplaySettings(
527 PUNICODE_STRING lpszDeviceName
,
529 LPDEVMODEW lpDevMode
, /* FIXME is this correct? */
539 NtUserExcludeUpdateRgn(
553 NtUserFindExistingCursorIcon(
564 PUNICODE_STRING ucClassName
,
565 PUNICODE_STRING ucWindowName
584 NtUserGetAncestor(HWND hWnd
, UINT Flags
);
589 NtUserGetAsyncKeyState(
594 NtUserGetCaretBlinkTime(VOID
);
602 NtUserGetClassInfo(HINSTANCE hInst
,
610 NtUserGetClassName(HWND hWnd
,
616 NtUserGetClipboardData(
622 NtUserGetClipboardFormatName(
624 PUNICODE_STRING FormatName
,
629 NtUserGetClipboardOwner(VOID
);
633 NtUserGetClipboardSequenceNumber(VOID
);
637 NtUserGetClipboardViewer(VOID
);
646 NtUserGetComboBoxInfo(
652 NtUserGetControlBrush(
659 NtUserGetControlColor(
674 NtUserGetCursorFrameInfo(
699 NtUserGetDoubleClickTime(VOID
);
703 NtUserGetForegroundWindow(VOID
);
707 NtUserGetGuiResources(
713 NtUserGetGUIThreadInfo(
715 LPGUITHREADINFO lpgui
);
719 NtUserGetCursorIconInfo(
725 NtUserGetCursorIconSize(
740 NtUserGetInternalWindowPos(
747 NtUserGetKeyboardLayoutList(
753 NtUserGetKeyboardLayoutName(
758 NtUserGetKeyboardState(
763 NtUserGetKeyNameText( LONG lParam
, LPWSTR lpString
, int nSize
);
772 NtUserGetListBoxInfo(
775 typedef struct tagNTUSERGETMESSAGEINFO
779 } NTUSERGETMESSAGEINFO
, *PNTUSERGETMESSAGEINFO
;
784 PNTUSERGETMESSAGEINFO MsgInfo
,
791 NtUserGetMonitorInfo(
792 IN HMONITOR hMonitor
,
793 OUT LPMONITORINFO pMonitorInfo
);
797 NtUserGetMouseMovePointsEx(
806 NtUserGetObjectInformation(
811 PDWORD nLengthNeeded
);
815 NtUserGetOpenClipboardWindow(VOID
);
819 NtUserGetPriorityClipboardFormat(
820 UINT
*paFormatPriorityList
,
825 NtUserGetProcessWindowStation(VOID
);
829 NtUserGetScrollBarInfo(
832 PSCROLLBARINFO psbi
);
843 NtUserGetThreadDesktop(
847 #define THREADSTATE_FOCUSWINDOW (1)
848 #define THREADSTATE_INSENDMESSAGE (2)
851 NtUserGetThreadState(
856 NtUserGetTitleBarInfo(
861 NtUserGetUpdateRect(HWND hWnd
, LPRECT lpRect
, BOOL fErase
);
877 NtUserGetWindowPlacement(
879 WINDOWPLACEMENT
*lpwndpl
);
894 NtUserImpersonateDdeClientWindow(
900 NtUserInitializeClientPfnArrays(
923 NtUserInternalGetWindowText(
930 NtUserInvalidateRect(
945 NtUserIsClipboardFormatAvailable(
950 NtUserKillSystemTimer
966 NtUserLoadKeyboardLayoutEx(
976 NtUserLockWindowStation(
977 HWINSTA hWindowStation
);
981 NtUserLockWindowUpdate(
986 NtUserLockWorkStation(VOID
);
990 NtUserMapVirtualKeyEx( UINT keyCode
,
1008 NtUserGetMinMaxInfo(
1010 MINMAXINFO
*MinMaxInfo
,
1015 NtUserMNDragLeave(VOID
);
1025 NtUserModifyUserStartupInfoFlags(
1031 NtUserMonitorFromPoint(
1037 NtUserMonitorFromRect(
1043 NtUserMonitorFromWindow(
1061 NtUserNotifyIMEStatus(
1068 NtUserNotifyWinEvent(
1076 NtUserOpenClipboard(
1083 PUNICODE_STRING lpszDesktopName
,
1085 ACCESS_MASK dwDesiredAccess
);
1089 NtUserOpenInputDesktop(
1092 ACCESS_MASK dwDesiredAccess
);
1096 NtUserOpenWindowStation(
1097 PUNICODE_STRING lpszWindowStationName
,
1098 ACCESS_MASK dwDesiredAccess
);
1108 PNTUSERGETMESSAGEINFO MsgInfo
,
1124 NtUserPostThreadMessage(
1132 NtUserQuerySendMessage(
1137 NtUserQueryUserCounters(
1144 #define QUERY_WINDOW_UNIQUE_PROCESS_ID 0x00
1145 #define QUERY_WINDOW_UNIQUE_THREAD_ID 0x01
1146 #define QUERY_WINDOW_ISHUNG 0x04
1155 NtUserRealChildWindowFromPoint(
1165 CONST RECT
*lprcUpdate
,
1170 /* FIXME: These flag constans aren't what Windows uses. */
1171 #define REGISTERCLASS_ANSI 2
1172 #define REGISTERCLASS_SYSTEM 4
1173 #define REGISTERCLASS_ALL (REGISTERCLASS_ANSI | REGISTERCLASS_SYSTEM)
1176 NtUserRegisterClassExWOW(
1177 CONST WNDCLASSEXW
* lpwcx
,
1178 PUNICODE_STRING ClassName
,
1179 PUNICODE_STRING ClassNameCopy
,
1180 PUNICODE_STRING MenuName
,
1187 NtUserRegisterHotKey(HWND hWnd
,
1194 NtUserRegisterTasklist(
1198 NtUserRegisterWindowMessage(PUNICODE_STRING MessageName
);
1201 NtUserRemoveProp(HWND hWnd
, ATOM Atom
);
1205 NtUserResolveDesktopForWOW(
1222 CONST RECT
*lprcScroll
,
1223 CONST RECT
*lprcClip
,
1228 NtUserScrollWindowEx(HWND hWnd
, INT dx
, INT dy
, const RECT
*rect
,
1229 const RECT
*clipRect
, HRGN hrgnUpdate
, LPRECT rcUpdate
, UINT flags
);
1238 typedef struct tagNTUSERSENDMESSAGEINFO
1240 BOOL HandledByKernel
;
1243 } NTUSERSENDMESSAGEINFO
, *PNTUSERSENDMESSAGEINFO
;
1246 NtUserSendMessage(HWND hWnd
,
1250 PNTUSERSENDMESSAGEINFO Info
);
1254 NtUserSendMessageCallback(
1259 SENDASYNCPROC lpCallBack
,
1263 NtUserSendMessageTimeout(HWND hWnd
,
1270 PNTUSERSENDMESSAGEINFO Info
);
1274 NtUserSendNotifyMessage(
1281 NtUserSetActiveWindow(HWND Wnd
);
1283 NtUserGetActiveWindow(VOID
);
1286 NtUserSetCapture(HWND Wnd
);
1288 NtUserGetCapture(VOID
);
1307 NtUserSetClipboardData(
1314 NtUserSetClipboardViewer(
1315 HWND hWndNewViewer
);
1319 NtUserSetConsoleReserveKeys(
1330 NtUserSetCursorIconContents(
1332 PICONINFO IconInfo
);
1336 NtUserSetCursorIconData(
1366 NtUserSetImeOwnerWindow(
1372 NtUserSetInternalWindowPos(
1380 NtUserSetKeyboardState(
1385 NtUserSetLayeredWindowAttributes(
1393 NtUserSetLogonNotifyWindow(
1398 NtUserSetObjectInformation(
1401 PVOID pvInformation
,
1408 HWND hWndNewParent
);
1412 NtUserSetProcessWindowStation(
1413 HWINSTA hWindowStation
);
1416 NtUserSetProp(HWND hWnd
, ATOM Atom
, HANDLE Data
);
1426 NtUserSetScrollInfo(
1434 NtUserSetShellWindowEx(
1436 HWND hwndShellListView
);
1440 NtUserGetShellWindow();
1452 NtUserSetSystemCursor(
1458 NtUserSetThreadDesktop(
1463 NtUserSetThreadState(
1469 NtUserSetSystemTimer
1474 TIMERPROC lpTimerFunc
1484 TIMERPROC lpTimerFunc
1489 NtUserSetWindowFNID(
1495 NtUserSetWindowLong(
1503 NtUserSetWindowPlacement(
1505 WINDOWPLACEMENT
*lpwndpl
);
1508 STDCALL
NtUserSetWindowPos(
1510 HWND hWndInsertAfter
,
1527 NtUserSetWindowsHookAW(
1534 NtUserSetWindowsHookEx(
1536 PUNICODE_STRING ModuleName
,
1544 NtUserSetWindowStationUser(
1551 NtUserSetWindowWord(HWND hWnd
, INT Index
, WORD NewVal
);
1555 NtUserSetWinEventHook(
1572 NtUserShowScrollBar(HWND hWnd
, int wBar
, DWORD bShow
);
1582 NtUserShowWindowAsync(
1588 NtUserSwitchDesktop(
1593 NtUserSystemParametersInfo(
1612 NtUserTrackMouseEvent(
1617 NtUserTranslateAccelerator(
1624 NtUserTranslateMessage(
1630 NtUserUnhookWindowsHookEx(
1635 NtUserUnhookWinEvent(
1640 NtUserUnloadKeyboardLayout(
1645 NtUserUnlockWindowStation(
1646 HWINSTA hWindowStation
);
1650 NtUserUnregisterClass(
1651 LPCWSTR ClassNameOrAtom
,
1652 HINSTANCE hInstance
,
1657 NtUserUnregisterHotKey(HWND hWnd
,
1662 NtUserUpdateInputContext(
1669 NtUserUpdateInstance(
1675 NtUserUpdateWindow( HWND hWnd
);
1679 NtUserUpdateLayeredWindow(
1692 NtUserUpdatePerUserSystemParameters(
1698 NtUserUserHandleGrantAccess(
1705 NtUserValidateHandleSecure(
1709 NtUserValidateRect(HWND Wnd
, const RECT
* Rect
);
1721 NtUserWaitForInputIdle(
1728 NtUserWaitForMsgAndEvent(
1733 NtUserWaitMessage(VOID
);
1737 NtUserWin32PoolAllocationStats(
1747 NtUserWindowFromPoint(
1753 NtUserYieldTask(VOID
);
1756 NtUserGetWindowThreadProcessId(HWND hWnd
, LPDWORD UnsafePid
);
1759 NtUserGetQueueStatus(BOOL ClearChanges
);
1762 NtUserGetParent(HWND hWnd
);
1765 NtUserGetWindow(HWND hWnd
, UINT Relationship
);
1768 NtUserGetLastActivePopup(HWND hWnd
);
1769 typedef struct _WndProcHandle
1777 NtUserDereferenceWndProcHandle(WNDPROC wpHandle
, WndProcHandle
*Data
);
1780 NtUserManualGuiCheck(LONG Check
);
1782 typedef struct _SETSCROLLBARINFO
1786 DWORD rgstate
[CCHILDREN_SCROLLBAR
+1];
1787 } SETSCROLLBARINFO
, *PSETSCROLLBARINFO
;
1791 NtUserSetScrollBarInfo(
1794 SETSCROLLBARINFO
*info
);
1796 /* lParam of DDE messages */
1797 typedef struct tagKMDDEEXECUTEDATA
1801 /* BYTE Data[DataSize] */
1802 } KMDDEEXECUTEDATA
, *PKMDDEEXECUTEDATA
;
1804 typedef struct tagKMDDELPARAM
1816 } KMDDELPARAM
, *PKMDDELPARAM
;
1818 typedef struct _GDI_TABLE_ENTRY
1820 PVOID KernelData
; /* Points to the kernel mode structure */
1821 HANDLE ProcessId
; /* process id that created the object, 0 for stock objects */
1822 LONG Type
; /* the first 16 bit is the object type including the stock obj flag, the last 16 bits is just the object type */
1823 PVOID UserData
; /* Points to the user mode structure, usually NULL though */
1824 } GDI_TABLE_ENTRY
, *PGDI_TABLE_ENTRY
;
1826 #endif /* __WIN32K_NTUSER_H */