1 #ifndef __WIN32K_NTUSER_H
2 #define __WIN32K_NTUSER_H
4 struct _W32PROCESSINFO
;
8 /* FIXME: UserHMGetHandle needs to be updated once the new handle manager is implemented */
9 #define UserHMGetHandle(obj) ((obj)->hdr.Handle)
11 typedef struct _REGISTER_SYSCLASS
13 /* This is a reactos specific class used to initialize the
14 system window classes during user32 initialization */
15 UNICODE_STRING ClassName
;
23 } REGISTER_SYSCLASS
, *PREGISTER_SYSCLASS
;
25 typedef struct _CLSMENUNAME
27 LPSTR pszClientAnsiMenuName
;
28 LPWSTR pwszClientUnicodeMenuName
;
29 PUNICODE_STRING pusMenuName
;
30 } CLSMENUNAME
, *PCLSMENUNAME
;
32 typedef struct _USER_OBJHDR
34 /* This is the common header for all user handle objects */
36 } USER_OBJHDR
, PUSER_OBJHDR
;
38 typedef struct _DESKTOPINFO
55 UINT LastInputWasKbd
: 1;
59 WCHAR szDesktopName
[1];
60 } DESKTOPINFO
, *PDESKTOPINFO
;
62 typedef struct _CALLPROC
64 USER_OBJHDR hdr
; /* FIXME: Move out of the structure once new handle manager is implemented */
65 struct _W32PROCESSINFO
*pi
;
67 struct _CALLPROC
*Next
;
69 } CALLPROC
, *PCALLPROC
;
71 typedef struct _WINDOWCLASS
73 struct _WINDOWCLASS
*Next
;
74 struct _WINDOWCLASS
*Clone
;
75 struct _WINDOWCLASS
*Base
;
76 struct _DESKTOP
*rpdeskParent
;
87 PCALLPROC CallProcList
;
91 DWORD fnID
; // New ClassId
93 HANDLE hIcon
; /* FIXME - Use pointer! */
94 HANDLE hIconSm
; /* FIXME - Use pointer! */
95 HANDLE hCursor
; /* FIXME - Use pointer! */
97 HANDLE hMenu
; /* FIXME - Use pointer! */
105 UINT MenuNameIsString
: 1;
107 } WINDOWCLASS
, *PWINDOWCLASS
;
109 typedef struct _WINDOW
111 USER_OBJHDR hdr
; /* FIXME: Move out of the structure once new handle manager is implemented */
113 /* NOTE: This structure is located in the desktop heap and will
114 eventually replace WINDOW_OBJECT. Right now WINDOW_OBJECT
115 keeps a reference to this structure until all the information
116 is moved to this structure */
117 struct _W32PROCESSINFO
*pi
; /* FIXME: Move to object header some day */
118 struct _W32THREADINFO
*ti
;
119 struct _DESKTOP
*pdesktop
;
126 /* Pointer to a call procedure handle */
128 /* Extra Wnd proc (windows of system classes) */
129 WNDPROC WndProcExtra
;
132 struct _WINDOW
*Parent
;
133 struct _WINDOW
*Owner
;
135 /* Size of the extra data associated with the window. */
139 /* Extended style. */
141 /* Handle of the module that created the window. */
143 /* Window menu handle or window id */
146 /* Pointer to the window class. */
149 UNICODE_STRING WindowName
;
150 /* Context help id */
154 /* Property list head.*/
155 LIST_ENTRY PropListHead
;
166 /* Indicates whether the window is derived from a system class */
168 UINT InternalPosInitialized
: 1;
173 typedef struct _PFNCLIENT
184 PROC pfnComboListBoxC
;
191 PROC pfnHkINLPCWPSTRUCT
;
192 PROC pfnHkINLPCWPRETSTRUCT
;
193 PROC pfnDispatchHookC
;
194 PROC pfnDispatchDefC
;
195 } PFNCLIENT
, *PPFNCLIENT
;
197 typedef struct _PFNCLIENTWORKER
201 PROC pfnComboListBoxCW
;
208 } PFNCLIENTWORKER
, *PPFNCLIENTWORKER
;
211 // FNID's for NtUserSetWindowFNID, NtUserMessageCall
212 #define FNID_SCROLLBAR 0x029A
213 #define FNID_ICONTITLE 0x029B
214 #define FNID_MENU 0x029C
215 #define FNID_DESKTOP 0x029D
216 #define FNID_DEFWINDOWPROC 0x029E
217 #define FNID_SWITCH 0x02A0
218 #define FNID_BUTTON 0x02A1
219 #define FNID_COMBOBOX 0x02A2
220 #define FNID_COMBOLBOX 0x02A3
221 #define FNID_DIALOG 0x02A4
222 #define FNID_EDIT 0x02A5
223 #define FNID_LISTBOX 0x02A6
224 #define FNID_MDICLIENT 0x02A7
225 #define FNID_STATIC 0x02A8
226 #define FNID_IME 0x02A9
227 #define FNID_CALLWNDPROC 0x02AA
228 #define FNID_CALLWNDPROCRET 0x02AB
229 #define FNID_SENDMESSAGE 0x02B0
230 // Kernel has option to use TimeOut or normal msg send, based on type of msg.
231 #define FNID_SENDMESSAGEWTOOPTION 0x02B1
232 #define FNID_SENDMESSAGETIMEOUT 0x02B2
233 #define FNID_BROADCASTSYSTEMMESSAGE 0x02B4
234 #define FNID_TOOLTIPS 0x02B5
235 #define FNID_UNKNOWN 0x02B6
236 #define FNID_SENDNOTIFYMESSAGE 0x02B7
237 #define FNID_SENDMESSAGECALLBACK 0x02B8
240 #define FNID_DDEML 0x2000 // Registers DDEML
241 #define FNID_DESTROY 0x4000 // This is sent when WM_NCDESTROY or in the support routine.
242 // Seen during WM_CREATE on error exit too.
244 // ICLS's for NtUserGetClassName FNID to ICLS, NtUserInitializeClientPfnArrays
245 #define ICLS_BUTTON 0
247 #define ICLS_STATIC 2
248 #define ICLS_LISTBOX 3
249 #define ICLS_SCROLLBAR 4
250 #define ICLS_COMBOBOX 5
251 #define ICLS_MDICLIENT 6
252 #define ICLS_COMBOLBOX 7
253 #define ICLS_DDEMLEVENT 8
254 #define ICLS_DDEMLMOTHER 9
255 #define ICLS_DDEML16BIT 10
256 #define ICLS_DDEMLCLIENTA 11
257 #define ICLS_DDEMLCLIENTW 12
258 #define ICLS_DDEMLSERVERA 13
259 #define ICLS_DDEMLSERVERW 14
261 #define ICLS_DESKTOP 16
262 #define ICLS_DIALOG 17
264 #define ICLS_SWITCH 19
265 #define ICLS_ICONTITLE 20
266 #define ICLS_TOOLTIPS 21
267 #define ICLS_UNKNOWN 22
268 #define ICLS_NOTUSED 23
271 #define SRVINFO_METRICS 0x0020
273 typedef struct _SERVERINFO
276 DWORD SystemMetrics
[SM_CMETRICS
]; // System Metrics
277 COLORREF SysColors
[COLOR_MENUBAR
+1]; // GetSysColor
278 HBRUSH SysColorBrushes
[COLOR_MENUBAR
+1]; // GetSysColorBrush
279 HPEN SysColorPens
[COLOR_MENUBAR
+1]; // ReactOS exclusive
280 DWORD SrvEventActivity
;
281 } SERVERINFO
, *PSERVERINFO
;
283 typedef struct _W32PROCESSINFO
285 PVOID UserHandleTable
;
287 ULONG_PTR UserHeapDelta
;
289 PWINDOWCLASS LocalClassList
;
290 PWINDOWCLASS GlobalClassList
;
291 PWINDOWCLASS SystemClassList
;
293 UINT RegisteredSysClasses
: 1;
297 } W32PROCESSINFO
, *PW32PROCESSINFO
;
299 #define CTI_INSENDMESSAGE 0x0002
301 typedef struct _CLIENTTHREADINFO
306 WORD fsWakeBitsJournal
;
310 } CLIENTTHREADINFO
, *PCLIENTTHREADINFO
;
312 typedef struct _W32THREADINFO
314 PW32PROCESSINFO pi
; /* [USER] */
315 PW32PROCESSINFO kpi
; /* [KERNEL] */
316 PDESKTOPINFO Desktop
;
317 // PVOID DesktopHeapBase;
318 // ULONG_PTR DesktopHeapLimit;
319 /* A mask of what hooks are currently active */
321 CLIENTTHREADINFO ClientThreadInfo
;
322 } W32THREADINFO
, *PW32THREADINFO
;
324 /* Window Client Information structure */
328 typedef struct tagHOOK
330 LIST_ENTRY Chain
; /* Hook chain entry */
331 HHOOK Self
; /* user handle for this hook */
332 struct _ETHREAD
* Thread
; /* Thread owning the hook */
333 int HookId
; /* Hook table index */
334 HOOKPROC Proc
; /* Hook function */
335 BOOLEAN Ansi
; /* Is it an Ansi hook? */
336 ULONG Flags
; /* Some internal flags */
337 UNICODE_STRING ModuleName
; /* Module name for global hooks */
340 typedef struct _CALLBACKWND
344 } CALLBACKWND
, *PCALLBACKWND
;
346 #define CI_CURTHPRHOOK 0x00000010
348 typedef struct _CLIENTINFO
354 DWORD dwCompatFlags2
;
356 PDESKTOPINFO pDeskInfo
;
357 ULONG_PTR ulClientDelta
;
360 CALLBACKWND CallbackWnd
;
361 ULONG Win32ClientInfo
;
363 INT cInDDEMLCallback
;
364 PCLIENTTHREADINFO pClientThreadInfo
;
368 DWORD dwAsyncKeyCache
;
369 DWORD afAsyncKeyState
[2];
370 DWORD afAsyncKeyStateRecentDow
[2];
374 ULONG Win32ClientInfo3
[35];
375 } CLIENTINFO
, *PCLIENTINFO
;
377 /* Make sure it fits exactly into the TEB */
378 C_ASSERT(sizeof(CLIENTINFO
) == FIELD_OFFSET(TEB
, glDispatchTable
) - FIELD_OFFSET(TEB
, Win32ClientInfo
));
380 #define GetWin32ClientInfo() ((PCLIENTINFO)(NtCurrentTeb()->Win32ClientInfo))
382 // Server event activity bits.
383 #define SRV_EVENT_MENU 0x0001
384 #define SRV_EVENT_END_APPLICATION 0x0002
385 #define SRV_EVENT_RUNNING 0x0004
386 #define SRV_EVENT_NAMECHANGE 0x0008
387 #define SRV_EVENT_VALUECHANGE 0x0010
388 #define SRV_EVENT_STATECHANGE 0x0020
389 #define SRV_EVENT_LOCATIONCHANGE 0x0040
390 #define SRV_EVENT_CREATE 0x8000
392 typedef struct _PROPLISTITEM
396 } PROPLISTITEM
, *PPROPLISTITEM
;
398 typedef struct _PROPERTY
400 LIST_ENTRY PropListEntry
;
403 } PROPERTY
, *PPROPERTY
;
405 typedef struct _BROADCASTPARM
412 } BROADCASTPARM
, *PBROADCASTPARM
;
414 PW32THREADINFO
GetW32ThreadInfo(VOID
);
415 PW32PROCESSINFO
GetW32ProcessInfo(VOID
);
418 // Non SDK Window Message types.
420 #define WM_SYSTIMER 280
421 #define WM_POPUPSYSTEMMENU 787
426 NtUserAssociateInputContext(
457 NtUserCtxDisplayIOCtl(
476 NtUserDrawMenuBarTemp(
485 NtUserEnableMenuItem(
496 NtUserGetMenuBarInfo(
510 NtUserGetMenuItemRect(
524 NtUserHiliteMenuItem(
532 NtUserMenuItemFromPoint(
554 NtUserSetMenuContextHelpId(
556 DWORD dwContextHelpId
);
560 NtUserSetMenuDefaultItem(
567 NtUserSetMenuFlagRtoL(
578 NtUserThunkedMenuInfo(
584 NtUserThunkedMenuItemInfo(
589 LPMENUITEMINFOW lpmii
,
590 PUNICODE_STRING lpszCaption
);
594 NtUserTrackPopupMenuEx(
604 NtUserActivateKeyboardLayout(
610 NtUserAlterWindowStyle(
617 NtUserAttachThreadInput(
623 NtUserBeginPaint(HWND hWnd
, PAINTSTRUCT
* lPs
);
658 PULONG pRequiredSize
);
668 /* apfnSimpleCall indices from Windows XP SP 2 */
669 /* TODO: Check for differences in Windows 2000, 2003 and 2008 */
670 #define WIN32K_VERSION NTDDI_WINXPSP2 // FIXME: this should go somewhere else
672 enum SimpleCallRoutines
674 NOPARAM_ROUTINE_CREATEMENU
,
675 NOPARAM_ROUTINE_CREATEMENUPOPUP
,
676 #if (WIN32K_VERSION >= NTDDI_VISTA)
677 NOPARAM_ROUTINE_ALLOWFOREGNDACTIVATION
,
678 NOPARAM_ROUTINE_MSQCLEARWAKEMASK
,
679 NOPARAM_ROUTINE_CREATESYSTEMTHREADS
,
680 NOPARAM_ROUTINE_DESTROY_CARET
,
682 NOPARAM_ROUTINE_ENABLEPROCWNDGHSTING
,
683 #if (WIN32K_VERSION < NTDDI_VISTA)
684 NOPARAM_ROUTINE_MSQCLEARWAKEMASK
,
685 NOPARAM_ROUTINE_ALLOWFOREGNDACTIVATION
,
686 NOPARAM_ROUTINE_DESTROY_CARET
,
688 NOPARAM_ROUTINE_GETDEVICECHANGEINFO
,
689 NOPARAM_ROUTINE_GETIMESHOWSTATUS
,
690 NOPARAM_ROUTINE_GETINPUTDESKTOP
,
691 NOPARAM_ROUTINE_GETMSESSAGEPOS
,
692 #if (WIN32K_VERSION >= NTDDI_VISTA)
693 NOPARAM_ROUTINE_HANDLESYSTHRDCREATFAIL
,
695 NOPARAM_ROUTINE_GETREMOTEPROCID
,
697 NOPARAM_ROUTINE_HIDECURSORNOCAPTURE
,
698 NOPARAM_ROUTINE_LOADCURSANDICOS
,
699 #if (WIN32K_VERSION >= NTDDI_VISTA)
700 NOPARAM_ROUTINE_LOADUSERAPIHOOK
,
701 NOPARAM_ROUTINE_PREPAREFORLOGOFF
, /* 0x0f */
703 NOPARAM_ROUTINE_RELEASECAPTURE
,
704 NOPARAM_ROUTINE_RESETDBLCLICK
,
705 NOPARAM_ROUTINE_ZAPACTIVEANDFOUS
,
706 NOPARAM_ROUTINE_REMOTECONSHDWSTOP
,
707 NOPARAM_ROUTINE_REMOTEDISCONNECT
,
708 NOPARAM_ROUTINE_REMOTELOGOFF
,
709 NOPARAM_ROUTINE_REMOTENTSECURITY
,
710 NOPARAM_ROUTINE_REMOTESHDWSETUP
,
711 NOPARAM_ROUTINE_REMOTESHDWSTOP
,
712 NOPARAM_ROUTINE_REMOTEPASSTHRUENABLE
,
713 NOPARAM_ROUTINE_REMOTEPASSTHRUDISABLE
,
714 NOPARAM_ROUTINE_REMOTECONNECTSTATE
,
715 NOPARAM_ROUTINE_UPDATEPERUSERIMMENABLING
,
716 NOPARAM_ROUTINE_USERPWRCALLOUTWORKER
,
717 #if (WIN32K_VERSION >= NTDDI_VISTA)
718 NOPARAM_ROUTINE_WAKERITFORSHTDWN
,
720 NOPARAM_ROUTINE_INIT_MESSAGE_PUMP
,
721 NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP
,
722 #if (WIN32K_VERSION < NTDDI_VISTA)
723 NOPARAM_ROUTINE_LOADUSERAPIHOOK
,
725 ONEPARAM_ROUTINE_BEGINDEFERWNDPOS
,
726 #if (WIN32K_VERSION >= NTDDI_VISTA)
727 ONEPARAM_ROUTINE_GETSENDMSGRECVR
,
729 ONEPARAM_ROUTINE_WINDOWFROMDC
,
730 ONEPARAM_ROUTINE_ALLOWSETFOREGND
,
731 ONEPARAM_ROUTINE_CREATEEMPTYCUROBJECT
,
732 #if (WIN32K_VERSION < NTDDI_VISTA)
733 ONEPARAM_ROUTINE_CREATESYSTEMTHREADS
,
735 ONEPARAM_ROUTINE_CSDDEUNINITIALIZE
,
736 ONEPARAM_ROUTINE_DIRECTEDYIELD
,
737 ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS
,
738 #if (WIN32K_VERSION < NTDDI_VISTA)
739 ONEPARAM_ROUTINE_GETCURSORPOS
,
741 ONEPARAM_ROUTINE_GETINPUTEVENT
,
742 ONEPARAM_ROUTINE_GETKEYBOARDLAYOUT
,
743 ONEPARAM_ROUTINE_GETKEYBOARDTYPE
,
744 ONEPARAM_ROUTINE_GETPROCDEFLAYOUT
,
745 ONEPARAM_ROUTINE_GETQUEUESTATUS
,
746 ONEPARAM_ROUTINE_GETWINSTAINFO
,
747 #if (WIN32K_VERSION < NTDDI_VISTA)
748 ONEPARAM_ROUTINE_HANDLESYSTHRDCREATFAIL
,
750 ONEPARAM_ROUTINE_LOCKFOREGNDWINDOW
,
751 ONEPARAM_ROUTINE_LOADFONTS
,
752 ONEPARAM_ROUTINE_MAPDEKTOPOBJECT
,
753 ONEPARAM_ROUTINE_MESSAGEBEEP
,
754 ONEPARAM_ROUTINE_PLAYEVENTSOUND
,
755 ONEPARAM_ROUTINE_POSTQUITMESSAGE
,
756 #if (WIN32K_VERSION < NTDDI_VISTA)
757 ONEPARAM_ROUTINE_PREPAREFORLOGOFF
,
759 ONEPARAM_ROUTINE_REALIZEPALETTE
,
760 ONEPARAM_ROUTINE_REGISTERLPK
,
761 #if (WIN32K_VERSION >= NTDDI_VISTA)
762 ONEPARAM_ROUTINE_REGISTERSYSTEMTHREAD
,
764 ONEPARAM_ROUTINE_REMOTERECONNECT
,
765 ONEPARAM_ROUTINE_REMOTETHINWIRESTATUS
,
766 ONEPARAM_ROUTINE_RELEASEDC
,
767 #if (WIN32K_VERSION >= NTDDI_VISTA)
768 ONEPARAM_ROUTINE_REMOTENOTIFY
,
770 ONEPARAM_ROUTINE_REPLYMESSAGE
,
771 ONEPARAM_ROUTINE_SETCARETBLINKTIME
,
772 ONEPARAM_ROUTINE_SETDBLCLICKTIME
,
773 #if (WIN32K_VERSION < NTDDI_VISTA)
774 ONEPARAM_ROUTINE_SETIMESHOWSTATUS
,
776 ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO
,
777 ONEPARAM_ROUTINE_SETPROCDEFLAYOUT
,
778 #if (WIN32K_VERSION >= NTDDI_VISTA)
779 ONEPARAM_ROUTINE_SETWATERMARKSTRINGS
,
781 ONEPARAM_ROUTINE_SHOWCURSOR
,
782 ONEPARAM_ROUTINE_SHOWSTARTGLASS
,
783 ONEPARAM_ROUTINE_SWAPMOUSEBUTTON
,
784 X_ROUTINE_WOWMODULEUNLOAD
,
785 #if (WIN32K_VERSION < NTDDI_VISTA)
786 X_ROUTINE_REMOTENOTIFY
,
788 HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW
,
789 HWND_ROUTINE_DWP_GETENABLEDPOPUP
,
790 HWND_ROUTINE_GETWNDCONTEXTHLPID
,
791 HWND_ROUTINE_REGISTERSHELLHOOKWINDOW
,
792 HWND_ROUTINE_SETMSGBOX
,
793 HWNDOPT_ROUTINE_SETPROGMANWINDOW
,
794 HWNDOPT_ROUTINE_SETTASKMANWINDOW
,
795 HWNDPARAM_ROUTINE_GETCLASSICOCUR
,
796 HWNDPARAM_ROUTINE_CLEARWINDOWSTATE
,
797 HWNDPARAM_ROUTINE_KILLSYSTEMTIMER
,
798 HWNDPARAM_ROUTINE_SETDIALOGPOINTER
,
799 HWNDPARAM_ROUTINE_SETVISIBLE
,
800 HWNDPARAM_ROUTINE_SETWNDCONTEXTHLPID
,
801 HWNDPARAM_ROUTINE_SETWINDOWSTATE
,
802 HWNDLOCK_ROUTINE_WINDOWHASSHADOW
, /* correct prefix ? */
803 HWNDLOCK_ROUTINE_ARRANGEICONICWINDOWS
,
804 HWNDLOCK_ROUTINE_DRAWMENUBAR
,
805 HWNDLOCK_ROUTINE_CHECKIMESHOWSTATUSINTHRD
,
806 HWNDLOCK_ROUTINE_GETSYSMENUHANDLE
,
807 HWNDLOCK_ROUTINE_REDRAWFRAME
,
808 HWNDLOCK_ROUTINE_REDRAWFRAMEANDHOOK
,
809 HWNDLOCK_ROUTINE_SETDLGSYSMENU
,
810 HWNDLOCK_ROUTINE_SETFOREGROUNDWINDOW
,
811 HWNDLOCK_ROUTINE_SETSYSMENU
,
812 HWNDLOCK_ROUTINE_UPDATECKIENTRECT
,
813 HWNDLOCK_ROUTINE_UPDATEWINDOW
,
814 X_ROUTINE_IMESHOWSTATUSCHANGE
,
815 TWOPARAM_ROUTINE_ENABLEWINDOW
,
816 TWOPARAM_ROUTINE_REDRAWTITLE
,
817 TWOPARAM_ROUTINE_SHOWOWNEDPOPUPS
,
818 TWOPARAM_ROUTINE_SWITCHTOTHISWINDOW
,
819 TWOPARAM_ROUTINE_UPDATEWINDOWS
,
820 TWOPARAM_ROUTINE_VALIDATERGN
,
821 #if (WIN32K_VERSION >= NTDDI_VISTA)
822 TWOPARAM_ROUTINE_CHANGEWNDMSGFILTER
,
823 TWOPARAM_ROUTINE_GETCURSORPOS
,
825 TWOPARAM_ROUTINE_GETHDEVNAME
,
826 TWOPARAM_ROUTINE_INITANSIOEM
,
827 TWOPARAM_ROUTINE_NLSSENDIMENOTIFY
,
828 #if (WIN32K_VERSION >= NTDDI_VISTA)
829 TWOPARAM_ROUTINE_REGISTERGHSTWND
,
831 TWOPARAM_ROUTINE_REGISTERLOGONPROCESS
,
832 #if (WIN32K_VERSION >= NTDDI_VISTA)
833 TWOPARAM_ROUTINE_REGISTERSBLFROSTWND
,
835 TWOPARAM_ROUTINE_REGISTERSYSTEMTHREAD
,
837 TWOPARAM_ROUTINE_REGISTERUSERHUNGAPPHANDLERS
,
838 TWOPARAM_ROUTINE_SHADOWCLEANUP
,
839 TWOPARAM_ROUTINE_REMOTESHADOWSTART
,
840 TWOPARAM_ROUTINE_SETCARETPOS
,
841 TWOPARAM_ROUTINE_SETCURSORPOS
,
842 #if (WIN32K_VERSION >= NTDDI_VISTA)
843 TWOPARAM_ROUTINE_SETPHYSCURSORPOS
,
845 TWOPARAM_ROUTINE_UNHOOKWINDOWSHOOK
,
846 TWOPARAM_ROUTINE_WOWCLEANUP
876 NtUserCallHwndParamLock(
889 NtUserCallNextHookEx(
915 NtUserChangeClipboardChain(
921 NtUserChangeDisplaySettings(
922 PUNICODE_STRING lpszDeviceName
,
923 LPDEVMODEW lpDevMode
,
930 NtUserCheckImeHotKey(
935 NtUserChildWindowFromPointEx(
948 NtUserCloseClipboard(VOID
);
957 NtUserCloseWindowStation(
962 NtUserConsoleControl(
969 NtUserConvertMemHandle(
975 NtUserCopyAcceleratorTable(
982 NtUserCountClipboardFormats(VOID
);
986 NtUserCreateAcceleratorTable(
988 SIZE_T EntriesCount
);
1000 NtUserCreateDesktop(
1001 PUNICODE_STRING lpszDesktopName
,
1003 ACCESS_MASK dwDesiredAccess
,
1004 LPSECURITY_ATTRIBUTES lpSecurity
,
1005 HWINSTA hWindowStation
);
1009 NtUserCreateInputContext(
1014 NtUserCreateLocalMemHandle(
1022 NtUserCreateWindowEx(
1024 PUNICODE_STRING lpClassName
,
1025 PUNICODE_STRING lpWindowName
,
1033 HINSTANCE hInstance
,
1036 BOOL bUnicodeWindow
,
1041 NtUserCreateWindowStation(
1042 PUNICODE_STRING lpszWindowStationName
,
1043 ACCESS_MASK dwDesiredAccess
,
1044 LPSECURITY_ATTRIBUTES lpSecurity
,
1052 NtUserDdeGetQualityOfService(
1055 OUT PSECURITY_QUALITY_OF_SERVICE pqosPrev
);
1059 NtUserDdeInitialize(
1068 NtUserDdeSetQualityOfService(
1070 IN PSECURITY_QUALITY_OF_SERVICE pqosNew
,
1071 OUT PSECURITY_QUALITY_OF_SERVICE pqosPrev
);
1074 NtUserDeferWindowPos(HDWP WinPosInfo
,
1076 HWND WndInsertAfter
,
1083 NtUserDefSetText(HWND WindowHandle
, PUNICODE_STRING WindowText
);
1087 NtUserDestroyAcceleratorTable(
1092 NtUserDestroyCursor(
1098 NtUserDestroyInputContext(
1102 NtUserDestroyWindow(HWND Wnd
);
1106 NtUserDisableThreadIme(
1109 typedef struct tagNTUSERDISPATCHMESSAGEINFO
1111 BOOL HandledByKernel
;
1115 } NTUSERDISPATCHMESSAGEINFO
, *PNTUSERDISPATCHMESSAGEINFO
;
1119 NtUserDispatchMessage(PNTUSERDISPATCHMESSAGEINFO MsgInfo
);
1138 NtUserDrawAnimatedRects(
1154 NtUserDrawCaptionTemp(
1160 const PUNICODE_STRING str
,
1173 HBRUSH hbrFlickerFreeDraw
,
1180 NtUserEmptyClipboard(VOID
);
1184 NtUserEnableScrollBar(
1191 NtUserEndDeferWindowPosEx(
1196 NtUserEndPaint(HWND hWnd
, CONST PAINTSTRUCT
* lPs
);
1200 NtUserEnumDisplayDevices (
1201 PUNICODE_STRING lpDevice
, /* device name */
1202 DWORD iDevNum
, /* display device */
1203 PDISPLAY_DEVICEW lpDisplayDevice
, /* device information */
1204 DWORD dwFlags
); /* reserved */
1208 NtUserEnumDisplayMonitors (
1211 MONITORENUMPROC lpfnEnum,
1213 /* FIXME: The call below is ros-specific and should be rewritten to use the same params as the correct call above. */
1216 NtUserEnumDisplayMonitors(
1217 OPTIONAL IN HDC hDC
,
1218 OPTIONAL IN LPCRECT pRect
,
1219 OPTIONAL OUT HMONITOR
*hMonitorList
,
1220 OPTIONAL OUT LPRECT monitorRectList
,
1221 OPTIONAL IN DWORD listSize
);
1226 NtUserEnumDisplaySettings(
1227 PUNICODE_STRING lpszDeviceName
,
1229 LPDEVMODEW lpDevMode
, /* FIXME is this correct? */
1239 NtUserExcludeUpdateRgn(
1253 NtUserFindExistingCursorIcon(
1263 HWND hwndChildAfter
,
1264 PUNICODE_STRING ucClassName
,
1265 PUNICODE_STRING ucWindowName
,
1271 NtUserFlashWindowEx(
1272 IN PFLASHWINFO pfwi
);
1276 NtUserGetAltTabInfo(
1285 NtUserGetAncestor(HWND hWnd
, UINT Flags
);
1289 NtUserGetAppImeLevel(
1294 NtUserGetAsyncKeyState(
1305 NtUserGetCaretBlinkTime(VOID
);
1313 NtUserGetClassInfo(HINSTANCE hInstance
,
1314 PUNICODE_STRING ClassName
,
1316 LPWSTR
*ppszMenuName
,
1321 NtUserGetClassName(HWND hWnd
,
1322 PUNICODE_STRING ClassName
,
1324 #if 0 // Real NtUserGetClassName
1327 NtUserGetClassName(HWND hWnd
,
1328 BOOL Real
, // 0 GetClassNameW, 1 RealGetWindowClassA/W
1329 PUNICODE_STRING ClassName
);
1334 NtUserGetClipboardData(
1340 NtUserGetClipboardFormatName(
1342 PUNICODE_STRING FormatName
,
1347 NtUserGetClipboardOwner(VOID
);
1351 NtUserGetClipboardSequenceNumber(VOID
);
1355 NtUserGetClipboardViewer(VOID
);
1359 NtUserGetClipCursor(
1364 NtUserGetComboBoxInfo(
1366 PCOMBOBOXINFO pcbi
);
1370 NtUserGetControlBrush(
1377 NtUserGetControlColor(
1392 NtUserGetCursorFrameInfo(
1400 NtUserGetCursorInfo(
1417 NtUserGetDoubleClickTime(VOID
);
1421 NtUserGetForegroundWindow(VOID
);
1425 NtUserGetGuiResources(
1431 NtUserGetGUIThreadInfo(
1433 LPGUITHREADINFO lpgui
);
1440 PUNICODE_STRING lpInstName
,
1441 PUNICODE_STRING lpResName
,
1469 NtUserGetInternalWindowPos(
1476 NtUserGetKeyboardLayout(
1481 NtUserGetKeyboardLayoutList(
1487 NtUserGetKeyboardLayoutName(
1492 NtUserGetKeyboardState(
1497 NtUserGetKeyboardType(
1502 NtUserGetKeyNameText( LONG lParam
, LPWSTR lpString
, int nSize
);
1511 NtUserGetLayeredWindowAttributes(
1519 NtUserGetListBoxInfo(
1522 typedef struct tagNTUSERGETMESSAGEINFO
1526 } NTUSERGETMESSAGEINFO
, *PNTUSERGETMESSAGEINFO
;
1531 PNTUSERGETMESSAGEINFO MsgInfo
,
1534 UINT wMsgFilterMax
);
1538 NtUserGetMouseMovePointsEx(
1540 LPMOUSEMOVEPOINT lppt
,
1541 LPMOUSEMOVEPOINT lpptBuf
,
1547 NtUserGetObjectInformation(
1550 PVOID pvInformation
,
1552 PDWORD nLengthNeeded
);
1556 NtUserGetOpenClipboardWindow(VOID
);
1560 NtUserGetPriorityClipboardFormat(
1561 UINT
*paFormatPriorityList
,
1566 NtUserGetProcessWindowStation(VOID
);
1570 NtUserGetRawInputBuffer(
1577 NtUserGetRawInputData(
1578 HRAWINPUT hRawInput
,
1586 NtUserGetRawInputDeviceInfo(
1594 NtUserGetRawInputDeviceList(
1595 PRAWINPUTDEVICELIST pRawInputDeviceList
,
1596 PUINT puiNumDevices
,
1601 NtUserGetRegisteredRawInputDevices(
1602 PRAWINPUTDEVICE pRawInputDevices
,
1603 PUINT puiNumDevices
,
1608 NtUserGetScrollBarInfo(
1611 PSCROLLBARINFO psbi
);
1615 NtUserGetThreadDesktop(
1620 enum ThreadStateRoutines
1622 THREADSTATE_GETTHREADINFO
,
1623 THREADSTATE_INSENDMESSAGE
,
1624 THREADSTATE_FOCUSWINDOW
,
1625 THREADSTATE_ACTIVEWINDOW
,
1626 THREADSTATE_CAPTUREWINDOW
,
1627 THREADSTATE_PROGMANWINDOW
,
1628 THREADSTATE_TASKMANWINDOW
1633 NtUserGetThreadState(
1638 NtUserGetTitleBarInfo(
1643 NtUserGetUpdateRect(HWND hWnd
, LPRECT lpRect
, BOOL fErase
);
1659 NtUserGetWindowPlacement(
1661 WINDOWPLACEMENT
*lpwndpl
);
1671 NtUserHardErrorControl(
1678 NtUserImpersonateDdeClientWindow(
1691 NtUserInitializeClientPfnArrays(
1692 PPFNCLIENT pfnClientA
,
1693 PPFNCLIENT pfnClientW
,
1694 PPFNCLIENTWORKER pfnClientWorker
,
1695 HINSTANCE hmodUser
);
1715 NtUserInternalGetWindowText(
1722 NtUserInvalidateRect(
1729 NtUserInvalidateRgn(
1736 NtUserIsClipboardFormatAvailable(
1749 NtUserLoadKeyboardLayoutEx(
1752 IN PUNICODE_STRING puszKeyboardName
,
1754 IN PUNICODE_STRING puszKLID
,
1760 NtUserLockWindowStation(
1761 HWINSTA hWindowStation
);
1765 NtUserLockWindowUpdate(
1770 NtUserLockWorkStation(VOID
);
1774 NtUserMapVirtualKeyEx( UINT keyCode
,
1785 ULONG_PTR ResultInfo
,
1786 DWORD dwType
, // FNID_XX types
1793 UINT cmd
, // Wine SW_ commands
1798 NtUserMNDragLeave(VOID
);
1808 NtUserModifyUserStartupInfoFlags(
1825 NtUserNotifyIMEStatus(
1832 NtUserNotifyProcessCreate(
1840 NtUserNotifyWinEvent(
1848 NtUserOpenClipboard(
1855 PUNICODE_STRING lpszDesktopName
,
1857 ACCESS_MASK dwDesiredAccess
);
1861 NtUserOpenInputDesktop(
1864 ACCESS_MASK dwDesiredAccess
);
1868 NtUserOpenWindowStation(
1869 PUNICODE_STRING lpszWindowStationName
,
1870 ACCESS_MASK dwDesiredAccess
);
1890 PNTUSERGETMESSAGEINFO MsgInfo
,
1906 NtUserPostThreadMessage(
1921 NtUserProcessConnect(
1928 NtUserQueryInformationThread(
1937 NtUserQueryInputContext(
1943 NtUserQuerySendMessage(
1948 NtUserQueryUserCounters(
1955 #define QUERY_WINDOW_UNIQUE_PROCESS_ID 0x00
1956 #define QUERY_WINDOW_UNIQUE_THREAD_ID 0x01
1957 #define QUERY_WINDOW_ACTIVE 0x02
1958 #define QUERY_WINDOW_FOCUS 0x03
1959 #define QUERY_WINDOW_ISHUNG 0x04
1968 NtUserRealInternalGetMessage(
1978 NtUserRealChildWindowFromPoint(
1985 NtUserRealWaitMessageEx(
1994 CONST RECT
*lprcUpdate
,
2001 NtUserRegisterClassExWOW(
2003 PUNICODE_STRING pustrClassName
,
2004 PUNICODE_STRING pustrCNVersion
,
2005 PCLSMENUNAME pClassMenuName
,
2012 NtUserRegisterRawInputDevices(
2013 IN PCRAWINPUTDEVICE pRawInputDevices
,
2014 IN UINT uiNumDevices
,
2019 NtUserRegisterUserApiHook(
2025 NtUserRegisterHotKey(HWND hWnd
,
2032 NtUserRegisterTasklist(
2036 NtUserRegisterWindowMessage(PUNICODE_STRING MessageName
);
2040 NtUserRemoteConnect(
2047 NtUserRemoteRedrawRectangle(
2055 NtUserRemoteRedrawScreen(VOID
);
2059 NtUserRemoteStopScreenUpdates(VOID
);
2062 NtUserRemoveProp(HWND hWnd
, ATOM Atom
);
2066 NtUserResolveDesktop(
2074 NtUserResolveDesktopForWOW(
2091 CONST RECT
*lprcScroll
,
2092 CONST RECT
*lprcClip
,
2097 NtUserScrollWindowEx(HWND hWnd
, INT dx
, INT dy
, const RECT
*rect
,
2098 const RECT
*clipRect
, HRGN hrgnUpdate
, LPRECT rcUpdate
, UINT flags
);
2108 NtUserSetActiveWindow(HWND Wnd
);
2112 NtUserSetAppImeLevel(
2117 NtUserSetCapture(HWND Wnd
);
2123 ULONG_PTR dwNewLong
,
2135 NtUserSetClipboardData(
2142 NtUserSetClipboardViewer(
2143 HWND hWndNewViewer
);
2147 NtUserSelectPalette(
2150 BOOL ForceBackground
2155 NtUserSetConsoleReserveKeys(
2166 NtUserSetCursorContents(
2168 PICONINFO IconInfo
);
2172 NtUserSetCursorIconData(
2207 NtUserSetImeOwnerWindow(
2213 NtUserSetInformationProcess(
2221 NtUserSetInformationThread(
2229 NtUserSetInternalWindowPos(
2237 NtUserSetKeyboardState(
2242 NtUserSetLayeredWindowAttributes(
2250 NtUserSetLogonNotifyWindow(
2255 NtUserSetObjectInformation(
2258 PVOID pvInformation
,
2265 HWND hWndNewParent
);
2269 NtUserSetProcessWindowStation(
2270 HWINSTA hWindowStation
);
2273 NtUserSetProp(HWND hWnd
, ATOM Atom
, HANDLE Data
);
2283 NtUserSetScrollInfo(
2291 NtUserSetShellWindowEx(
2293 HWND hwndShellListView
);
2299 IN CONST INT
*lpaElements
,
2300 IN CONST COLORREF
*lpaRgbValues
,
2305 NtUserSetSystemCursor(
2311 NtUserSetThreadDesktop(
2316 NtUserSetThreadState(
2322 NtUserSetSystemTimer
2327 TIMERPROC lpTimerFunc
2332 NtUserSetThreadLayoutHandles(
2343 TIMERPROC lpTimerFunc
2348 NtUserSetWindowFNID(
2354 NtUserSetWindowLong(
2362 NtUserSetWindowPlacement(
2364 WINDOWPLACEMENT
*lpwndpl
);
2367 NTAPI
NtUserSetWindowPos(
2369 HWND hWndInsertAfter
,
2386 NtUserSetWindowsHookAW(
2393 NtUserSetWindowsHookEx(
2395 PUNICODE_STRING ModuleName
,
2403 NtUserSetWindowStationUser(
2410 NtUserSetWindowWord(HWND hWnd
, INT Index
, WORD NewVal
);
2414 NtUserSetWinEventHook(
2417 HMODULE hmodWinEventProc
,
2418 PUNICODE_STRING puString
,
2419 WINEVENTPROC lpfnWinEventProc
,
2436 NtUserShowScrollBar(HWND hWnd
, int wBar
, DWORD bShow
);
2446 NtUserShowWindowAsync(
2452 NtUserSoundSentry(VOID
);
2456 NtUserSwitchDesktop(
2461 NtUserSystemParametersInfo(
2469 NtUserTestForInteractiveUser(
2485 NtUserTrackMouseEvent(
2486 LPTRACKMOUSEEVENT lpEventTrack
);
2490 NtUserTranslateAccelerator(
2497 NtUserTranslateMessage(
2503 NtUserUnhookWindowsHookEx(
2508 NtUserUnhookWinEvent(
2509 HWINEVENTHOOK hWinEventHook
);
2513 NtUserUnloadKeyboardLayout(
2518 NtUserUnlockWindowStation(
2519 HWINSTA hWindowStation
);
2523 NtUserUnregisterClass(
2524 PUNICODE_STRING ClassNameOrAtom
,
2525 HINSTANCE hInstance
,
2526 PCLSMENUNAME pClassMenuName
);
2530 NtUserUnregisterHotKey(HWND hWnd
,
2535 NtUserUnregisterUserApiHook(VOID
);
2539 NtUserUpdateInputContext(
2546 NtUserUpdateInstance(
2553 NtUserUpdateLayeredWindow(
2561 BLENDFUNCTION
*pblend
,
2566 NtUserUpdatePerUserSystemParameters(
2572 NtUserUserHandleGrantAccess(
2573 IN HANDLE hUserHandle
,
2579 NtUserValidateHandleSecure(
2587 CONST RECT
*lpRect
);
2591 NtUserValidateTimerCallback(
2605 NtUserWaitForInputIdle(
2607 IN DWORD dwMilliseconds
,
2608 IN BOOL Unknown2
); // Always FALSE
2612 NtUserWaitForMsgAndEvent(
2617 NtUserWaitMessage(VOID
);
2621 NtUserWin32PoolAllocationStats(
2631 NtUserWindowFromPoint(
2637 NtUserYieldTask(VOID
);
2639 /* lParam of DDE messages */
2640 typedef struct tagKMDDEEXECUTEDATA
2644 /* BYTE Data[DataSize] */
2645 } KMDDEEXECUTEDATA
, *PKMDDEEXECUTEDATA
;
2647 typedef struct tagKMDDELPARAM
2659 } KMDDELPARAM
, *PKMDDELPARAM
;
2666 * ReactOS-specific NtUser calls and their related structures, both which shouldn't exist.
2669 #define NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO 0xffff0005
2670 #define NOPARAM_ROUTINE_ANYPOPUP 0xffff0006
2671 #define NOPARAM_ROUTINE_CSRSS_INITIALIZED 0xffff0007
2672 #define ONEPARAM_ROUTINE_CSRSS_GUICHECK 0xffff0008
2673 #define ONEPARAM_ROUTINE_GETMENU 0xfffe0001 // usermode
2674 #define ONEPARAM_ROUTINE_ISWINDOWUNICODE 0xfffe0002
2675 #define ONEPARAM_ROUTINE_GETCARETINFO 0xfffe0007
2676 #define ONEPARAM_ROUTINE_SWITCHCARETSHOWING 0xfffe0008
2677 #define ONEPARAM_ROUTINE_ISWINDOWINDESTROY 0xfffe000c
2678 #define ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING 0xfffe000d
2679 #define ONEPARAM_ROUTINE_GETDESKTOPMAPPING 0xfffe000e
2680 #define ONEPARAM_ROUTINE_GETWINDOWINSTANCE 0xfffe0010
2681 #define ONEPARAM_ROUTINE_CREATECURICONHANDLE 0xfffe0025 // CREATE_EMPTY_CURSOR_OBJECT ?
2682 #define ONEPARAM_ROUTINE_MSQSETWAKEMASK 0xfffe0027
2683 #define ONEPARAM_ROUTINE_REGISTERUSERMODULE 0xfffe0031
2684 #define ONEPARAM_ROUTINE_GETWNDCONTEXTHLPID 0xfffe0047 // use HWND_ROUTINE_GETWNDCONTEXTHLPID
2685 #define ONEPARAM_ROUTINE_GETCURSORPOSITION 0xfffe0048 // use ONEPARAM_ or TWOPARAM routine ?
2686 #define TWOPARAM_ROUTINE_GETWINDOWRGNBOX 0xfffd0048 // user mode
2687 #define TWOPARAM_ROUTINE_GETWINDOWRGN 0xfffd0049 // user mode
2688 #define TWOPARAM_ROUTINE_SETMENUBARHEIGHT 0xfffd0050
2689 #define TWOPARAM_ROUTINE_SETMENUITEMRECT 0xfffd0051
2690 #define TWOPARAM_ROUTINE_SETGUITHRDHANDLE 0xfffd0052
2691 #define MSQ_STATE_CAPTURE 0x1
2692 #define MSQ_STATE_ACTIVE 0x2
2693 #define MSQ_STATE_FOCUS 0x3
2694 #define MSQ_STATE_MENUOWNER 0x4
2695 #define MSQ_STATE_MOVESIZE 0x5
2696 #define MSQ_STATE_CARET 0x6
2697 #define TWOPARAM_ROUTINE_SETWNDCONTEXTHLPID 0xfffd0058 // use HWNDPARAM_ROUTINE_SETWNDCONTEXTHLPID
2698 #define TWOPARAM_ROUTINE_SETCARETPOS 0xfffd0060
2699 #define TWOPARAM_ROUTINE_GETWINDOWINFO 0xfffd0061
2700 #define TWOPARAM_ROUTINE_REGISTERLOGONPROC 0xfffd0062
2701 #define TWOPARAM_ROUTINE_GETSYSCOLORBRUSHES 0xfffd0063
2702 #define TWOPARAM_ROUTINE_GETSYSCOLORPENS 0xfffd0064
2703 #define TWOPARAM_ROUTINE_GETSYSCOLORS 0xfffd0065
2704 #define TWOPARAM_ROUTINE_ROS_ISACTIVEICON 0x1001
2705 #define TWOPARAM_ROUTINE_ROS_NCDESTROY 0x1002
2706 #define TWOPARAM_ROUTINE_ROS_REGSYSCLASSES 0x1003
2707 #define TWOPARAM_ROUTINE_ROS_UPDATEUISTATE 0x1004
2711 NtUserBuildMenuItemList(
2717 /* Use ONEPARAM_ROUTINE_CREATEEMPTYCURSOROBJECT (0x21) ? */
2720 NtUserCreateCursorIconHandle(
2725 /* Should be done in usermode */
2728 NtUserGetClassLong(HWND hWnd
, INT Offset
, BOOL Ansi
);
2732 NtUserGetMenuDefaultItem(
2739 NtUserGetLastInputInfo(
2740 PLASTINPUTINFO plii
);
2744 NtUserGetMinMaxInfo(
2746 MINMAXINFO
*MinMaxInfo
,
2751 NtUserGetMonitorInfo(
2752 IN HMONITOR hMonitor
,
2753 OUT LPMONITORINFO pMonitorInfo
);
2755 /* Should be done in usermode */
2758 NtUserGetScrollInfo(
2765 NtUserGetWindow(HWND hWnd
, UINT Relationship
);
2767 /* Should be done in usermode */
2770 NtUserGetWindowLong(HWND hWnd
, DWORD Index
, BOOL Ansi
);
2773 /* (other FocusedItem values give the position of the focused item) */
2774 #define NO_SELECTED_ITEM 0xffff
2776 typedef struct tagROSMENUINFO
2778 /* ----------- MENUINFO ----------- */
2784 DWORD dwContextHelpID
;
2785 ULONG_PTR dwMenuData
;
2786 /* ----------- Extra ----------- */
2787 HMENU Self
; /* Handle of this menu */
2788 WORD Flags
; /* Menu flags (MF_POPUP, MF_SYSMENU) */
2789 UINT FocusedItem
; /* Currently focused item */
2790 UINT MenuItemCount
; /* Number of items in the menu */
2791 HWND Wnd
; /* Window containing the menu */
2792 WORD Width
; /* Width of the whole menu */
2793 WORD Height
; /* Height of the whole menu */
2794 HWND WndOwner
; /* window receiving the messages for ownerdraw */
2795 BOOL TimeToHide
; /* Request hiding when receiving a second click in the top-level menu item */
2796 SIZE maxBmpSize
; /* Maximum size of the bitmap items in MIIM_BITMAP state */
2797 } ROSMENUINFO
, *PROSMENUINFO
;
2809 typedef struct tagROSMENUITEMINFO
2811 /* ----------- MENUITEMINFOW ----------- */
2818 HBITMAP hbmpChecked
;
2819 HBITMAP hbmpUnchecked
;
2824 /* ----------- Extra ----------- */
2825 RECT Rect
; /* Item area (relative to menu window) */
2826 UINT XTab
; /* X position of text after Tab */
2827 LPWSTR Text
; /* Copy of the text pointer in MenuItem->Text */
2828 } ROSMENUITEMINFO
, *PROSMENUITEMINFO
;
2836 PROSMENUITEMINFO lpmii
,
2842 NtUserMonitorFromPoint(
2848 NtUserMonitorFromRect(
2854 NtUserMonitorFromWindow(
2859 /* FIXME: These flag constans aren't what Windows uses. */
2860 #define REGISTERCLASS_ANSI 2
2861 #define REGISTERCLASS_ALL (REGISTERCLASS_ANSI)
2865 NtUserRegisterClassEx( // Need to use NtUserRegisterClassExWOW.
2866 CONST WNDCLASSEXW
* lpwcx
,
2867 PUNICODE_STRING ClassName
,
2868 PUNICODE_STRING MenuName
,
2875 typedef struct tagNTUSERSENDMESSAGEINFO
2877 BOOL HandledByKernel
;
2880 } NTUSERSENDMESSAGEINFO
, *PNTUSERSENDMESSAGEINFO
;
2882 /* use NtUserMessageCall */
2884 NtUserSendMessage(HWND hWnd
,
2888 PNTUSERSENDMESSAGEINFO Info
);
2890 /* use NtUserMessageCall */
2892 NtUserSendMessageTimeout(HWND hWnd
,
2899 PNTUSERSENDMESSAGEINFO Info
);
2901 /* use NtUserMessageCall */
2904 NtUserSendNotifyMessage(
2911 typedef struct _SETSCROLLBARINFO
2915 DWORD rgstate
[CCHILDREN_SCROLLBAR
+1];
2916 } SETSCROLLBARINFO
, *PSETSCROLLBARINFO
;
2920 NtUserSetScrollBarInfo(
2923 SETSCROLLBARINFO
*info
);
2927 #endif /* __WIN32K_NTUSER_H */