1 #ifndef __WIN32K_NTUSER_H
2 #define __WIN32K_NTUSER_H
7 NtUserBuildMenuItemList(
22 NtUserCreateMenu(BOOL PopupMenu
);
38 NtUserDrawMenuBarTemp(
58 LPCMENUITEMINFOW lpmii
);
65 NtUserGetMenuDefaultItem(
86 NtUserGetMenuItemRect(
100 NtUserHiliteMenuItem(
116 NtUserMenuItemFromPoint(
128 PROSMENUITEMINFO lpmii
,
148 NtUserSetMenuContextHelpId(
150 DWORD dwContextHelpId
);
154 NtUserSetMenuDefaultItem(
161 NtUserSetMenuFlagRtoL(
172 NtUserThunkedMenuInfo(
178 NtUserThunkedMenuItemInfo(
183 LPMENUITEMINFOW lpmii
,
184 PUNICODE_STRING lpszCaption
);
188 NtUserTrackPopupMenuEx(
197 NtUserGetSystemMetrics(ULONG Index
);
200 NtUserGetClassLong(HWND hWnd
, DWORD Offset
, BOOL Ansi
);
203 NtUserGetWindowLong(HWND hWnd
, DWORD Index
, BOOL Ansi
);
206 NtUserReleaseDC(HWND hWnd
, HDC hDc
);
209 NtUserGetWindowRect(HWND hWnd
, LPRECT Rect
);
212 NtUserGetClientRect(HWND hWnd
, LPRECT Rect
);
215 NtUserGetProp(HWND hWnd
, ATOM Atom
);
218 NtUserGetClientOrigin(HWND hWnd
, LPPOINT Point
);
221 NtUserGetDesktopWindow();
225 NtUserAcquireOrReleaseInputOwnership(
230 NtUserActivateKeyboardLayout(
236 NtUserAlterWindowStyle(
243 NtUserAttachThreadInput(
249 NtUserBeginPaint(HWND hWnd
, PAINTSTRUCT
* lPs
);
284 PULONG pRequiredSize
);
295 HWND_ROUTINE_REGISTERSHELLHOOKWINDOW
,
296 HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW
305 #define HWNDLOCK_ROUTINE_ARRANGEICONICWINDOWS 0x54
306 #define HWNDLOCK_ROUTINE_DRAWMENUBAR 0x55
307 #define HWNDLOCK_ROUTINE_REDRAWFRAME 0x58
308 #define HWNDLOCK_ROUTINE_SETFOREGROUNDWINDOW 0x5B
309 #define HWNDLOCK_ROUTINE_UPDATEWINDOW 0x5E
316 #define HWNDOPT_ROUTINE_SETPROGMANWINDOW 0x4A
317 #define HWNDOPT_ROUTINE_SETTASKMANWINDOW 0x4B
333 NtUserCallHwndParamLock(
346 NtUserCallNextHookEx(
352 #define NOPARAM_ROUTINE_MSQCLEARWAKEMASK 0x3
353 #define NOPARAM_ROUTINE_REGISTER_PRIMITIVE 0xffff0001 /* Private ROS */
354 #define NOPARAM_ROUTINE_DESTROY_CARET 0xffff0002
355 #define NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP 0xffff0003
356 #define NOPARAM_ROUTINE_INIT_MESSAGE_PUMP 0xffff0004
357 #define NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO 0xffff0005
358 #define NOPARAM_ROUTINE_ANYPOPUP 0xffff0006
359 #define NOPARAM_ROUTINE_CSRSS_INITIALIZED 0xffff0007
365 #define ONEPARAM_ROUTINE_GETMENU 0x01
366 #define ONEPARAM_ROUTINE_ISWINDOWUNICODE 0x02
367 #define ONEPARAM_ROUTINE_WINDOWFROMDC 0x03
368 #define ONEPARAM_ROUTINE_GETWNDCONTEXTHLPID 0x04
369 #define ONEPARAM_ROUTINE_SWAPMOUSEBUTTON 0x05
370 #define ONEPARAM_ROUTINE_SETCARETBLINKTIME 0x06
371 #define ONEPARAM_ROUTINE_GETCARETINFO 0x07
372 #define ONEPARAM_ROUTINE_SWITCHCARETSHOWING 0x08
373 #define ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS 0x09
374 #define ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO 0x0a
375 #define ONEPARAM_ROUTINE_GETCURSORPOSITION 0x0b
376 #define ONEPARAM_ROUTINE_ISWINDOWINDESTROY 0x0c
377 #define ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING 0x0d
378 #define ONEPARAM_ROUTINE_GETWINDOWINSTANCE 0x10
379 #define ONEPARAM_ROUTINE_MSQSETWAKEMASK 0x27
380 #define ONEPARAM_ROUTINE_GETKEYBOARDTYPE 0x28
381 #define ONEPARAM_ROUTINE_GETKEYBOARDLAYOUT 0x29
388 #define TWOPARAM_ROUTINE_SETDCPENCOLOR 0x45
389 #define TWOPARAM_ROUTINE_SETDCBRUSHCOLOR 0x46
390 #define TWOPARAM_ROUTINE_GETDCCOLOR 0x47
391 #define TWOPARAM_ROUTINE_GETWINDOWRGNBOX 0x48
392 #define TWOPARAM_ROUTINE_GETWINDOWRGN 0x49
393 #define TWOPARAM_ROUTINE_SETMENUBARHEIGHT 0x50
394 #define TWOPARAM_ROUTINE_SETMENUITEMRECT 0x51
395 #define TWOPARAM_ROUTINE_SETGUITHRDHANDLE 0x52
396 #define MSQ_STATE_CAPTURE 0x1
397 #define MSQ_STATE_ACTIVE 0x2
398 #define MSQ_STATE_FOCUS 0x3
399 #define MSQ_STATE_MENUOWNER 0x4
400 #define MSQ_STATE_MOVESIZE 0x5
401 #define MSQ_STATE_CARET 0x6
402 #define TWOPARAM_ROUTINE_ENABLEWINDOW 0x53
403 #define TWOPARAM_ROUTINE_UNKNOWN 0x54
404 #define TWOPARAM_ROUTINE_SHOWOWNEDPOPUPS 0x55
405 #define TWOPARAM_ROUTINE_SWITCHTOTHISWINDOW 0x56
406 #define TWOPARAM_ROUTINE_SETWNDCONTEXTHLPID 0x58
407 #define TWOPARAM_ROUTINE_SETCARETPOS 0x60
408 #define TWOPARAM_ROUTINE_GETWINDOWINFO 0x61
409 #define TWOPARAM_ROUTINE_REGISTERLOGONPROC 0x62
410 #define TWOPARAM_ROUTINE_GETSYSCOLORBRUSHES 0x63
411 #define TWOPARAM_ROUTINE_GETSYSCOLORPENS 0x64
412 #define TWOPARAM_ROUTINE_GETSYSCOLORS 0x65
413 #define TWOPARAM_ROUTINE_SETSYSCOLORS 0x66
414 #define TWOPARAM_ROUTINE_ROS_SHOWWINDOW 0x1000
424 NtUserChangeClipboardChain(
430 NtUserChangeDisplaySettings(
431 PUNICODE_STRING lpszDeviceName
,
432 LPDEVMODEW lpDevMode
,
438 NtUserChildWindowFromPointEx(HWND Parent
,
450 NtUserCloseClipboard(VOID
);
459 NtUserCloseWindowStation(
464 NtUserConvertMemHandle(
470 NtUserCopyAcceleratorTable(
477 NtUserCountClipboardFormats(VOID
);
481 NtUserCreateAcceleratorTable(
483 SIZE_T EntriesCount
);
495 NtUserCreateCursorIconHandle(
502 PUNICODE_STRING lpszDesktopName
,
504 ACCESS_MASK dwDesiredAccess
,
505 LPSECURITY_ATTRIBUTES lpSecurity
,
506 HWINSTA hWindowStation
);
510 NtUserCreateLocalMemHandle(
518 NtUserCreateWindowEx(
520 PUNICODE_STRING lpClassName
,
521 PUNICODE_STRING lpWindowName
,
532 BOOL bUnicodeWindow
);
536 NtUserCreateWindowStation(
537 PUNICODE_STRING lpszWindowStationName
,
538 ACCESS_MASK dwDesiredAccess
,
539 LPSECURITY_ATTRIBUTES lpSecurity
,
546 NtUserDdeGetQualityOfService(
562 NtUserDdeSetQualityOfService(
568 NtUserDeferWindowPos(HDWP WinPosInfo
,
577 NtUserDefSetText(HWND WindowHandle
, PUNICODE_STRING WindowText
);
581 NtUserDestroyAcceleratorTable(
586 NtUserDestroyCursorIcon(
591 NtUserDestroyWindow(HWND Wnd
);
593 typedef struct tagNTUSERDISPATCHMESSAGEINFO
595 BOOL HandledByKernel
;
599 } NTUSERDISPATCHMESSAGEINFO
, *PNTUSERDISPATCHMESSAGEINFO
;
603 NtUserDispatchMessage(PNTUSERDISPATCHMESSAGEINFO MsgInfo
);
624 NtUserDrawAnimatedRects(
640 NtUserDrawCaptionTemp(
659 HBRUSH hbrFlickerFreeDraw
,
666 NtUserEmptyClipboard(VOID
);
670 NtUserEnableScrollBar(
677 NtUserEndDeferWindowPosEx(
682 NtUserEndPaint(HWND hWnd
, CONST PAINTSTRUCT
* lPs
);
686 NtUserEnumDisplayDevices (
687 PUNICODE_STRING lpDevice
, /* device name */
688 DWORD iDevNum
, /* display device */
689 PDISPLAY_DEVICE lpDisplayDevice
, /* device information */
690 DWORD dwFlags
); /* reserved */
694 NtUserEnumDisplayMonitors (
697 MONITORENUMPROC lpfnEnum,
702 NtUserEnumDisplayMonitors(
704 OPTIONAL IN LPCRECT pRect
,
705 OPTIONAL OUT HMONITOR
*hMonitorList
,
706 OPTIONAL OUT LPRECT monitorRectList
,
707 OPTIONAL IN DWORD listSize
);
712 NtUserEnumDisplaySettings(
713 PUNICODE_STRING lpszDeviceName
,
715 LPDEVMODEW lpDevMode
, /* FIXME is this correct? */
725 NtUserExcludeUpdateRgn(
739 NtUserFindExistingCursorIcon(
750 PUNICODE_STRING ucClassName
,
751 PUNICODE_STRING ucWindowName
770 NtUserGetAncestor(HWND hWnd
, UINT Flags
);
775 NtUserGetAsyncKeyState(
780 NtUserGetCaretBlinkTime(VOID
);
788 NtUserGetClassInfo(HINSTANCE hInst
,
796 NtUserGetClassName(HWND hWnd
,
802 NtUserGetClipboardData(
808 NtUserGetClipboardFormatName(
810 PUNICODE_STRING FormatName
,
815 NtUserGetClipboardOwner(VOID
);
819 NtUserGetClipboardSequenceNumber(VOID
);
823 NtUserGetClipboardViewer(VOID
);
832 NtUserGetComboBoxInfo(
838 NtUserGetControlBrush(
845 NtUserGetControlColor(
860 NtUserGetCursorFrameInfo(
885 NtUserGetDoubleClickTime(VOID
);
889 NtUserGetForegroundWindow(VOID
);
893 NtUserGetGuiResources(
899 NtUserGetGUIThreadInfo(
901 LPGUITHREADINFO lpgui
);
905 NtUserGetCursorIconInfo(
911 NtUserGetCursorIconSize(
926 NtUserGetInternalWindowPos(
933 NtUserGetKeyboardLayout(
938 NtUserGetKeyboardLayoutList(
944 NtUserGetKeyboardLayoutName(
949 NtUserGetKeyboardState(
954 NtUserGetKeyboardType(
959 NtUserGetKeyNameText( LONG lParam
, LPWSTR lpString
, int nSize
);
968 NtUserGetListBoxInfo(
971 typedef struct tagNTUSERGETMESSAGEINFO
975 } NTUSERGETMESSAGEINFO
, *PNTUSERGETMESSAGEINFO
;
980 PNTUSERGETMESSAGEINFO MsgInfo
,
987 NtUserGetMonitorInfo(
988 IN HMONITOR hMonitor
,
989 OUT LPMONITORINFO pMonitorInfo
);
993 NtUserGetMouseMovePointsEx(
995 LPMOUSEMOVEPOINT lppt
,
996 LPMOUSEMOVEPOINT lpptBuf
,
1002 NtUserGetObjectInformation(
1005 PVOID pvInformation
,
1007 PDWORD nLengthNeeded
);
1011 NtUserGetOpenClipboardWindow(VOID
);
1015 NtUserGetPriorityClipboardFormat(
1016 UINT
*paFormatPriorityList
,
1021 NtUserGetProcessWindowStation(VOID
);
1025 NtUserGetScrollBarInfo(
1028 PSCROLLBARINFO psbi
);
1032 NtUserGetScrollInfo(
1039 NtUserGetThreadDesktop(
1043 #define THREADSTATE_FOCUSWINDOW (1)
1044 #define THREADSTATE_INSENDMESSAGE (2)
1047 NtUserGetThreadState(
1052 NtUserGetTitleBarInfo(
1057 NtUserGetUpdateRect(HWND hWnd
, LPRECT lpRect
, BOOL fErase
);
1073 NtUserGetWindowPlacement(
1075 WINDOWPLACEMENT
*lpwndpl
);
1085 NtUserImpersonateDdeClientWindow(
1091 NtUserInitializeClientPfnArrays(
1114 NtUserInternalGetWindowText(
1122 NtUserIsClipboardFormatAvailable(
1127 NtUserKillSystemTimer
1143 NtUserLoadKeyboardLayoutEx(
1153 NtUserLockWindowStation(
1154 HWINSTA hWindowStation
);
1158 NtUserLockWindowUpdate(
1163 NtUserLockWorkStation(VOID
);
1167 NtUserMapVirtualKeyEx( UINT keyCode
,
1185 NtUserGetMinMaxInfo(
1187 MINMAXINFO
*MinMaxInfo
,
1192 NtUserMNDragLeave(VOID
);
1202 NtUserModifyUserStartupInfoFlags(
1208 NtUserMonitorFromPoint(
1214 NtUserMonitorFromRect(
1220 NtUserMonitorFromWindow(
1238 NtUserNotifyIMEStatus(
1245 NtUserNotifyWinEvent(
1253 NtUserOpenClipboard(
1260 PUNICODE_STRING lpszDesktopName
,
1262 ACCESS_MASK dwDesiredAccess
);
1266 NtUserOpenInputDesktop(
1269 ACCESS_MASK dwDesiredAccess
);
1273 NtUserOpenWindowStation(
1274 PUNICODE_STRING lpszWindowStationName
,
1275 ACCESS_MASK dwDesiredAccess
);
1285 PNTUSERGETMESSAGEINFO MsgInfo
,
1301 NtUserPostThreadMessage(
1309 NtUserQuerySendMessage(
1314 NtUserQueryUserCounters(
1321 #define QUERY_WINDOW_UNIQUE_PROCESS_ID 0x00
1322 #define QUERY_WINDOW_UNIQUE_THREAD_ID 0x01
1323 #define QUERY_WINDOW_ISHUNG 0x04
1332 NtUserRealizePalette(HDC hDC
);
1336 NtUserRealChildWindowFromPoint(
1346 CONST RECT
*lprcUpdate
,
1351 /* FIXME: These flag constans aren't what Windows uses. */
1352 #define REGISTERCLASS_ANSI 2
1353 #define REGISTERCLASS_SYSTEM 4
1354 #define REGISTERCLASS_ALL (REGISTERCLASS_ANSI | REGISTERCLASS_SYSTEM)
1357 NtUserRegisterClassExWOW(
1358 CONST WNDCLASSEXW
* lpwcx
,
1359 PUNICODE_STRING ClassName
,
1360 PUNICODE_STRING ClassNameCopy
,
1361 PUNICODE_STRING MenuName
,
1369 NtUserRegisterHotKey(HWND hWnd
,
1376 NtUserRegisterTasklist(
1380 NtUserRegisterWindowMessage(PUNICODE_STRING MessageName
);
1383 NtUserRemoveProp(HWND hWnd
, ATOM Atom
);
1387 NtUserResolveDesktopForWOW(
1404 CONST RECT
*lprcScroll
,
1405 CONST RECT
*lprcClip
,
1410 NtUserScrollWindowEx(HWND hWnd
, INT dx
, INT dy
, const RECT
*rect
,
1411 const RECT
*clipRect
, HRGN hrgnUpdate
, LPRECT rcUpdate
, UINT flags
);
1420 typedef struct tagNTUSERSENDMESSAGEINFO
1422 BOOL HandledByKernel
;
1425 } NTUSERSENDMESSAGEINFO
, *PNTUSERSENDMESSAGEINFO
;
1428 NtUserSendMessage(HWND hWnd
,
1432 PNTUSERSENDMESSAGEINFO Info
);
1436 NtUserSendMessageCallback(
1441 SENDASYNCPROC lpCallBack
,
1445 NtUserSendMessageTimeout(HWND hWnd
,
1452 PNTUSERSENDMESSAGEINFO Info
);
1456 NtUserSendNotifyMessage(
1463 NtUserSetActiveWindow(HWND Wnd
);
1465 NtUserGetActiveWindow(VOID
);
1468 NtUserSetCapture(HWND Wnd
);
1470 NtUserGetCapture(VOID
);
1489 NtUserSetClipboardData(
1496 NtUserSetClipboardViewer(
1497 HWND hWndNewViewer
);
1501 NtUserSelectPalette(
1504 BOOL ForceBackground
1509 NtUserSetConsoleReserveKeys(
1520 NtUserSetCursorIconContents(
1522 PICONINFO IconInfo
);
1526 NtUserSetCursorIconData(
1556 NtUserSetImeOwnerWindow(
1562 NtUserSetInternalWindowPos(
1570 NtUserSetKeyboardState(
1575 NtUserSetLayeredWindowAttributes(
1583 NtUserSetLogonNotifyWindow(
1588 NtUserSetObjectInformation(
1591 PVOID pvInformation
,
1598 HWND hWndNewParent
);
1602 NtUserSetProcessWindowStation(
1603 HWINSTA hWindowStation
);
1606 NtUserSetProp(HWND hWnd
, ATOM Atom
, HANDLE Data
);
1616 NtUserSetScrollInfo(
1624 NtUserSetShellWindowEx(
1626 HWND hwndShellListView
);
1630 NtUserGetShellWindow();
1642 NtUserSetSystemCursor(
1648 NtUserSetThreadDesktop(
1653 NtUserSetThreadState(
1659 NtUserSetSystemTimer
1664 TIMERPROC lpTimerFunc
1674 TIMERPROC lpTimerFunc
1679 NtUserSetWindowFNID(
1685 NtUserSetWindowLong(
1693 NtUserSetWindowPlacement(
1695 WINDOWPLACEMENT
*lpwndpl
);
1698 NTAPI
NtUserSetWindowPos(
1700 HWND hWndInsertAfter
,
1717 NtUserSetWindowsHookAW(
1724 NtUserSetWindowsHookEx(
1726 PUNICODE_STRING ModuleName
,
1734 NtUserSetWindowStationUser(
1741 NtUserSetWindowWord(HWND hWnd
, INT Index
, WORD NewVal
);
1745 NtUserSetWinEventHook(
1763 NtUserShowScrollBar(HWND hWnd
, int wBar
, DWORD bShow
);
1773 NtUserShowWindowAsync(
1779 NtUserSwitchDesktop(
1784 NtUserSystemParametersInfo(
1803 NtUserTrackMouseEvent(
1808 NtUserTranslateAccelerator(
1815 NtUserTranslateMessage(
1821 NtUserUnhookWindowsHookEx(
1826 NtUserUnhookWinEvent(
1831 NtUserUnloadKeyboardLayout(
1836 NtUserUnlockWindowStation(
1837 HWINSTA hWindowStation
);
1841 NtUserUnregisterClass(
1842 LPCWSTR ClassNameOrAtom
,
1843 HINSTANCE hInstance
,
1848 NtUserUnregisterHotKey(HWND hWnd
,
1853 NtUserUpdateInputContext(
1860 NtUserUpdateInstance(
1867 NtUserUpdateLayeredWindow(
1880 NtUserUpdatePerUserSystemParameters(
1886 NtUserUserHandleGrantAccess(
1893 NtUserValidateHandleSecure(
1905 NtUserWaitForInputIdle(
1912 NtUserWaitForMsgAndEvent(
1917 NtUserWaitMessage(VOID
);
1921 NtUserWin32PoolAllocationStats(
1931 NtUserWindowFromPoint(
1937 NtUserYieldTask(VOID
);
1940 NtUserGetWindowThreadProcessId(HWND hWnd
, LPDWORD UnsafePid
);
1943 NtUserGetQueueStatus(BOOL ClearChanges
);
1946 NtUserGetParent(HWND hWnd
);
1949 NtUserGetWindow(HWND hWnd
, UINT Relationship
);
1952 NtUserGetLastActivePopup(HWND hWnd
);
1953 typedef struct _WndProcHandle
1961 NtUserDereferenceWndProcHandle(WNDPROC wpHandle
, WndProcHandle
*Data
);
1964 NtUserManualGuiCheck(LONG Check
);
1966 #define NtUserGetDCBrushColor(hbr) \
1967 (COLORREF)NtUserCallTwoParam((DWORD)(hbr), OBJ_BRUSH, TWOPARAM_ROUTINE_GETDCCOLOR)
1969 #define NtUserGetDCPenColor(hbr) \
1970 (COLORREF)NtUserCallTwoParam((DWORD)(hbr), OBJ_PEN, TWOPARAM_ROUTINE_GETDCCOLOR)
1972 #define NtUserSetDCBrushColor(hbr, crColor) \
1973 (COLORREF)NtUserCallTwoParam((DWORD)(hbr), (DWORD)crColor, TWOPARAM_ROUTINE_SETDCBRUSHCOLOR)
1975 #define NtUserSetDCPenColor(hbr, crColor) \
1976 (COLORREF)NtUserCallTwoParam((DWORD)(hbr), (DWORD)crColor, TWOPARAM_ROUTINE_SETDCPENCOLOR)
1978 typedef struct _SETSCROLLBARINFO
1982 DWORD rgstate
[CCHILDREN_SCROLLBAR
+1];
1983 } SETSCROLLBARINFO
, *PSETSCROLLBARINFO
;
1987 NtUserSetScrollBarInfo(
1990 SETSCROLLBARINFO
*info
);
1992 /* lParam of DDE messages */
1993 typedef struct tagKMDDEEXECUTEDATA
1997 /* BYTE Data[DataSize] */
1998 } KMDDEEXECUTEDATA
, *PKMDDEEXECUTEDATA
;
2000 typedef struct tagKMDDELPARAM
2012 } KMDDELPARAM
, *PKMDDELPARAM
;
2014 #endif /* __WIN32K_NTUSER_H */