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
);
112 #define HWNDLOCK_ROUTINE_ARRANGEICONICWINDOWS 0x54
113 #define HWNDLOCK_ROUTINE_DRAWMENUBAR 0x55
114 #define HWNDLOCK_ROUTINE_REDRAWFRAME 0x58
115 #define HWNDLOCK_ROUTINE_SETFOREGROUNDWINDOW 0x5B
116 #define HWNDLOCK_ROUTINE_UPDATEWINDOW 0x5E
123 #define HWNDOPT_ROUTINE_SETPROGMANWINDOW 0x4A
124 #define HWNDOPT_ROUTINE_SETTASKMANWINDOW 0x4B
140 NtUserCallHwndParamLock(
153 NtUserCallNextHookEx(
159 #define NOPARAM_ROUTINE_REGISTER_PRIMITIVE 0xffff0001 /* Private ROS */
160 #define NOPARAM_ROUTINE_DESTROY_CARET 0xffff0002
161 #define NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP 0xffff0003
162 #define NOPARAM_ROUTINE_INIT_MESSAGE_PUMP 0xffff0004
163 #define NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO 0xffff0005
164 #define NOPARAM_ROUTINE_ANYPOPUP 0xffff0006
170 #define ONEPARAM_ROUTINE_GETMENU 0x01
171 #define ONEPARAM_ROUTINE_ISWINDOWUNICODE 0x02
172 #define ONEPARAM_ROUTINE_WINDOWFROMDC 0x03
173 #define ONEPARAM_ROUTINE_GETWNDCONTEXTHLPID 0x04
174 #define ONEPARAM_ROUTINE_SWAPMOUSEBUTTON 0x05
175 #define ONEPARAM_ROUTINE_SETCARETBLINKTIME 0x06
176 #define ONEPARAM_ROUTINE_GETCARETINFO 0x07
177 #define ONEPARAM_ROUTINE_SWITCHCARETSHOWING 0x08
178 #define ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS 0x09
179 #define ONEPARAM_ROUTINE_GETWINDOWINSTANCE 0x10
180 #define ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO 0x0a
181 #define ONEPARAM_ROUTINE_GETCURSORPOSITION 0x0b
182 #define ONEPARAM_ROUTINE_ISWINDOWINDESTROY 0x0c
183 #define ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING 0x0d
190 #define TWOPARAM_ROUTINE_SETDCPENCOLOR 0x45
191 #define TWOPARAM_ROUTINE_SETDCBRUSHCOLOR 0x46
192 #define TWOPARAM_ROUTINE_GETDCCOLOR 0x47
193 #define TWOPARAM_ROUTINE_GETWINDOWRGNBOX 0x48
194 #define TWOPARAM_ROUTINE_GETWINDOWRGN 0x49
195 #define TWOPARAM_ROUTINE_SETMENUBARHEIGHT 0x50
196 #define TWOPARAM_ROUTINE_SETMENUITEMRECT 0x51
197 #define TWOPARAM_ROUTINE_SETGUITHRDHANDLE 0x52
198 #define MSQ_STATE_CAPTURE 0x1
199 #define MSQ_STATE_ACTIVE 0x2
200 #define MSQ_STATE_FOCUS 0x3
201 #define MSQ_STATE_MENUOWNER 0x4
202 #define MSQ_STATE_MOVESIZE 0x5
203 #define MSQ_STATE_CARET 0x6
204 #define TWOPARAM_ROUTINE_ENABLEWINDOW 0x53
205 #define TWOPARAM_ROUTINE_UNKNOWN 0x54
206 #define TWOPARAM_ROUTINE_SHOWOWNEDPOPUPS 0x55
207 #define TWOPARAM_ROUTINE_SWITCHTOTHISWINDOW 0x56
208 #define TWOPARAM_ROUTINE_VALIDATERGN 0x57
209 #define TWOPARAM_ROUTINE_SETWNDCONTEXTHLPID 0x58
210 #define TWOPARAM_ROUTINE_SETCARETPOS 0x60
211 #define TWOPARAM_ROUTINE_GETWINDOWINFO 0x61
212 #define TWOPARAM_ROUTINE_REGISTERLOGONPROC 0x62
222 NtUserChangeClipboardChain(
228 NtUserChangeDisplaySettings(
229 PUNICODE_STRING lpszDeviceName
,
230 LPDEVMODEW lpDevMode
,
236 NtUserChildWindowFromPointEx(HWND Parent
,
248 NtUserCloseClipboard(VOID
);
257 NtUserCloseWindowStation(
262 NtUserConvertMemHandle(
268 NtUserCopyAcceleratorTable(
275 NtUserCountClipboardFormats(VOID
);
279 NtUserCreateAcceleratorTable(
281 SIZE_T EntriesCount
);
293 NtUserCreateCursorIconHandle(
300 PUNICODE_STRING lpszDesktopName
,
302 ACCESS_MASK dwDesiredAccess
,
303 LPSECURITY_ATTRIBUTES lpSecurity
,
304 HWINSTA hWindowStation
);
308 NtUserCreateLocalMemHandle(
316 NtUserCreateWindowEx(
318 PUNICODE_STRING lpClassName
,
319 PUNICODE_STRING lpWindowName
,
330 BOOL bUnicodeWindow
);
334 NtUserCreateWindowStation(
335 PUNICODE_STRING lpszWindowStationName
,
336 ACCESS_MASK dwDesiredAccess
,
337 LPSECURITY_ATTRIBUTES lpSecurity
,
344 NtUserDdeGetQualityOfService(
360 NtUserDdeSetQualityOfService(
366 NtUserDeferWindowPos(HDWP WinPosInfo
,
375 NtUserDefSetText(HWND WindowHandle
, PUNICODE_STRING WindowText
);
379 NtUserDestroyAcceleratorTable(
384 NtUserDestroyCursorIcon(
389 NtUserDestroyWindow(HWND Wnd
);
391 typedef struct tagNTUSERDISPATCHMESSAGEINFO
393 BOOL HandledByKernel
;
397 } NTUSERDISPATCHMESSAGEINFO
, *PNTUSERDISPATCHMESSAGEINFO
;
401 NtUserDispatchMessage(PNTUSERDISPATCHMESSAGEINFO MsgInfo
);
422 NtUserDrawAnimatedRects(
438 NtUserDrawCaptionTemp(
457 HBRUSH hbrFlickerFreeDraw
,
464 NtUserEmptyClipboard(VOID
);
468 NtUserEnableScrollBar(
475 NtUserEndDeferWindowPosEx(
480 NtUserEndPaint(HWND hWnd
, CONST PAINTSTRUCT
* lPs
);
484 NtUserEnumDisplayDevices (
485 PUNICODE_STRING lpDevice
, /* device name */
486 DWORD iDevNum
, /* display device */
487 PDISPLAY_DEVICE lpDisplayDevice
, /* device information */
488 DWORD dwFlags
); /* reserved */
492 NtUserEnumDisplayMonitors (
495 MONITORENUMPROC lpfnEnum
,
500 NtUserEnumDisplaySettings(
501 PUNICODE_STRING lpszDeviceName
,
503 LPDEVMODEW lpDevMode
, /* FIXME is this correct? */
513 NtUserExcludeUpdateRgn(
527 NtUserFindExistingCursorIcon(
538 PUNICODE_STRING ucClassName
,
539 PUNICODE_STRING ucWindowName
558 NtUserGetAncestor(HWND hWnd
, UINT Flags
);
563 NtUserGetAsyncKeyState(
568 NtUserGetCaretBlinkTime(VOID
);
576 NtUserGetClassInfo(HINSTANCE hInst
,
584 NtUserGetClassName(HWND hWnd
,
590 NtUserGetClipboardData(
596 NtUserGetClipboardFormatName(
598 PUNICODE_STRING FormatName
,
603 NtUserGetClipboardOwner(VOID
);
607 NtUserGetClipboardSequenceNumber(VOID
);
611 NtUserGetClipboardViewer(VOID
);
620 NtUserGetComboBoxInfo(
626 NtUserGetControlBrush(
633 NtUserGetControlColor(
648 NtUserGetCursorFrameInfo(
673 NtUserGetDoubleClickTime(VOID
);
677 NtUserGetForegroundWindow(VOID
);
681 NtUserGetGuiResources(
687 NtUserGetGUIThreadInfo(
689 LPGUITHREADINFO lpgui
);
693 NtUserGetCursorIconInfo(
699 NtUserGetCursorIconSize(
714 NtUserGetInternalWindowPos(
721 NtUserGetKeyboardLayoutList(
727 NtUserGetKeyboardLayoutName(
732 NtUserGetKeyboardState(
737 NtUserGetKeyNameText( LONG lParam
, LPWSTR lpString
, int nSize
);
746 NtUserGetListBoxInfo(
749 typedef struct tagNTUSERGETMESSAGEINFO
753 } NTUSERGETMESSAGEINFO
, *PNTUSERGETMESSAGEINFO
;
758 PNTUSERGETMESSAGEINFO MsgInfo
,
765 NtUserGetMouseMovePointsEx(
774 NtUserGetObjectInformation(
779 PDWORD nLengthNeeded
);
783 NtUserGetOpenClipboardWindow(VOID
);
787 NtUserGetPriorityClipboardFormat(
788 UINT
*paFormatPriorityList
,
793 NtUserGetProcessWindowStation(VOID
);
797 NtUserGetScrollBarInfo(
800 PSCROLLBARINFO psbi
);
811 NtUserGetThreadDesktop(
815 #define THREADSTATE_FOCUSWINDOW (1)
816 #define THREADSTATE_INSENDMESSAGE (2)
819 NtUserGetThreadState(
824 NtUserGetTitleBarInfo(
829 NtUserGetUpdateRect(HWND hWnd
, LPRECT lpRect
, BOOL fErase
);
845 NtUserGetWindowPlacement(
847 WINDOWPLACEMENT
*lpwndpl
);
862 NtUserImpersonateDdeClientWindow(
868 NtUserInitializeClientPfnArrays(
891 NtUserInternalGetWindowText(
898 NtUserInvalidateRect(
913 NtUserIsClipboardFormatAvailable(
918 NtUserKillSystemTimer
934 NtUserLoadKeyboardLayoutEx(
944 NtUserLockWindowStation(
945 HWINSTA hWindowStation
);
949 NtUserLockWindowUpdate(
954 NtUserLockWorkStation(VOID
);
958 NtUserMapVirtualKeyEx( UINT keyCode
,
978 MINMAXINFO
*MinMaxInfo
,
983 NtUserMNDragLeave(VOID
);
993 NtUserModifyUserStartupInfoFlags(
1010 NtUserNotifyIMEStatus(
1017 NtUserNotifyWinEvent(
1025 NtUserOpenClipboard(
1032 PUNICODE_STRING lpszDesktopName
,
1034 ACCESS_MASK dwDesiredAccess
);
1038 NtUserOpenInputDesktop(
1041 ACCESS_MASK dwDesiredAccess
);
1045 NtUserOpenWindowStation(
1046 PUNICODE_STRING lpszWindowStationName
,
1047 ACCESS_MASK dwDesiredAccess
);
1057 PNTUSERGETMESSAGEINFO MsgInfo
,
1073 NtUserPostThreadMessage(
1081 NtUserQuerySendMessage(
1086 NtUserQueryUserCounters(
1093 #define QUERY_WINDOW_UNIQUE_PROCESS_ID 0x00
1094 #define QUERY_WINDOW_UNIQUE_THREAD_ID 0x01
1095 #define QUERY_WINDOW_ISHUNG 0x04
1104 NtUserRealChildWindowFromPoint(
1114 CONST RECT
*lprcUpdate
,
1119 /* FIXME: These flag constans aren't what Windows uses. */
1120 #define REGISTERCLASS_ANSI 2
1121 #define REGISTERCLASS_SYSTEM 4
1122 #define REGISTERCLASS_ALL (REGISTERCLASS_ANSI | REGISTERCLASS_SYSTEM)
1125 NtUserRegisterClassExWOW(
1126 CONST WNDCLASSEXW
* lpwcx
,
1127 PUNICODE_STRING ClassName
,
1128 PUNICODE_STRING ClassNameCopy
,
1129 PUNICODE_STRING MenuName
,
1136 NtUserRegisterHotKey(HWND hWnd
,
1143 NtUserRegisterTasklist(
1147 NtUserRegisterWindowMessage(PUNICODE_STRING MessageName
);
1150 NtUserRemoveProp(HWND hWnd
, ATOM Atom
);
1154 NtUserResolveDesktopForWOW(
1171 CONST RECT
*lprcScroll
,
1172 CONST RECT
*lprcClip
,
1177 NtUserScrollWindowEx(HWND hWnd
, INT dx
, INT dy
, const RECT
*rect
,
1178 const RECT
*clipRect
, HRGN hrgnUpdate
, LPRECT rcUpdate
, UINT flags
);
1187 typedef struct tagNTUSERSENDMESSAGEINFO
1189 BOOL HandledByKernel
;
1192 } NTUSERSENDMESSAGEINFO
, *PNTUSERSENDMESSAGEINFO
;
1195 NtUserSendMessage(HWND hWnd
,
1199 PNTUSERSENDMESSAGEINFO Info
);
1203 NtUserSendMessageCallback(
1208 SENDASYNCPROC lpCallBack
,
1212 NtUserSendMessageTimeout(HWND hWnd
,
1219 PNTUSERSENDMESSAGEINFO Info
);
1223 NtUserSendNotifyMessage(
1230 NtUserSetActiveWindow(HWND Wnd
);
1232 NtUserGetActiveWindow(VOID
);
1235 NtUserSetCapture(HWND Wnd
);
1237 NtUserGetCapture(VOID
);
1256 NtUserSetClipboardData(
1263 NtUserSetClipboardViewer(
1264 HWND hWndNewViewer
);
1268 NtUserSetConsoleReserveKeys(
1279 NtUserSetCursorIconContents(
1281 PICONINFO IconInfo
);
1285 NtUserSetCursorIconData(
1315 NtUserSetImeOwnerWindow(
1321 NtUserSetInternalWindowPos(
1329 NtUserSetKeyboardState(
1334 NtUserSetLayeredWindowAttributes(
1342 NtUserSetLogonNotifyWindow(
1347 NtUserSetObjectInformation(
1350 PVOID pvInformation
,
1357 HWND hWndNewParent
);
1361 NtUserSetProcessWindowStation(
1362 HWINSTA hWindowStation
);
1365 NtUserSetProp(HWND hWnd
, ATOM Atom
, HANDLE Data
);
1375 NtUserSetScrollInfo(
1383 NtUserSetShellWindowEx(
1385 HWND hwndShellListView
);
1389 NtUserGetShellWindow();
1401 NtUserSetSystemCursor(
1407 NtUserSetThreadDesktop(
1412 NtUserSetThreadState(
1418 NtUserSetSystemTimer
1423 TIMERPROC lpTimerFunc
1433 TIMERPROC lpTimerFunc
1438 NtUserSetWindowFNID(
1444 NtUserSetWindowLong(
1452 NtUserSetWindowPlacement(
1454 WINDOWPLACEMENT
*lpwndpl
);
1457 STDCALL
NtUserSetWindowPos(
1459 HWND hWndInsertAfter
,
1476 NtUserSetWindowsHookAW(
1483 NtUserSetWindowsHookEx(
1485 PUNICODE_STRING ModuleName
,
1493 NtUserSetWindowStationUser(
1500 NtUserSetWindowWord(HWND hWnd
, INT Index
, WORD NewVal
);
1504 NtUserSetWinEventHook(
1521 NtUserShowScrollBar(HWND hWnd
, int wBar
, DWORD bShow
);
1531 NtUserShowWindowAsync(
1537 NtUserSwitchDesktop(
1542 NtUserSystemParametersInfo(
1561 NtUserTrackMouseEvent(
1566 NtUserTranslateAccelerator(
1573 NtUserTranslateMessage(
1579 NtUserUnhookWindowsHookEx(
1584 NtUserUnhookWinEvent(
1589 NtUserUnloadKeyboardLayout(
1594 NtUserUnlockWindowStation(
1595 HWINSTA hWindowStation
);
1599 NtUserUnregisterClass(
1600 LPCWSTR ClassNameOrAtom
,
1601 HINSTANCE hInstance
,
1606 NtUserUnregisterHotKey(HWND hWnd
,
1611 NtUserUpdateInputContext(
1618 NtUserUpdateInstance(
1624 NtUserUpdateWindow( HWND hWnd
);
1628 NtUserUpdateLayeredWindow(
1641 NtUserUpdatePerUserSystemParameters(
1647 NtUserUserHandleGrantAccess(
1654 NtUserValidateHandleSecure(
1658 NtUserValidateRect(HWND Wnd
, const RECT
* Rect
);
1670 NtUserWaitForInputIdle(
1677 NtUserWaitForMsgAndEvent(
1682 NtUserWaitMessage(VOID
);
1686 NtUserWin32PoolAllocationStats(
1696 NtUserWindowFromPoint(
1702 NtUserYieldTask(VOID
);
1705 NtUserGetWindowThreadProcessId(HWND hWnd
, LPDWORD UnsafePid
);
1708 NtUserGetQueueStatus(BOOL ClearChanges
);
1711 NtUserGetParent(HWND hWnd
);
1714 NtUserGetWindow(HWND hWnd
, UINT Relationship
);
1717 NtUserGetLastActivePopup(HWND hWnd
);
1718 typedef struct _WndProcHandle
1726 NtUserDereferenceWndProcHandle(WNDPROC wpHandle
, WndProcHandle
*Data
);
1729 NtUserManualGuiCheck(LONG Check
);
1731 typedef struct _SETSCROLLBARINFO
1735 DWORD rgstate
[CCHILDREN_SCROLLBAR
+1];
1736 } SETSCROLLBARINFO
, *PSETSCROLLBARINFO
;
1740 NtUserSetScrollBarInfo(
1743 SETSCROLLBARINFO
*info
);
1745 /* lParam of DDE messages */
1746 typedef struct tagKMDDEEXECUTEDATA
1750 /* BYTE Data[DataSize] */
1751 } KMDDEEXECUTEDATA
, *PKMDDEEXECUTEDATA
;
1753 typedef struct tagKMDDELPARAM
1765 } KMDDELPARAM
, *PKMDDELPARAM
;
1767 #endif /* __WIN32K_NTUSER_H */