ReactOS 0.4.16-dev-736-g28b802b
ntuser.h
Go to the documentation of this file.
1#ifndef __WIN32K_NTUSER_H
2#define __WIN32K_NTUSER_H
3
4struct _PROCESSINFO;
5struct _THREADINFO;
6struct _DESKTOP;
7struct _WND;
8struct tagPOPUPMENU;
9
10#define FIRST_USER_HANDLE 0x0020 /* first possible value for low word of user handle */
11#define LAST_USER_HANDLE 0xffef /* last possible value for low word of user handle */
12
13#define HANDLEENTRY_DESTROY 1
14#define HANDLEENTRY_INDESTROY 2
15
16typedef struct _USER_HANDLE_ENTRY
17{
18 void *ptr; /* pointer to object */
19 union
20 {
22 struct _THREADINFO *pti; /* pointer to Win32ThreadInfo */
23 struct _PROCESSINFO *ppi; /* pointer to W32ProcessInfo */
24 };
25 unsigned char type; /* object type (0 if free) */
26 unsigned char flags;
27 unsigned short generation; /* generation counter */
29
30typedef struct _USER_HANDLE_TABLE
31{
37
38typedef enum _HANDLE_TYPE
39{
63 TYPE_GENERIC = 255
65
67{
80
82{
88
89typedef struct _LARGE_STRING
90{
96
97
98/* Based on ANSI_STRING */
99typedef struct _LARGE_ANSI_STRING
100{
106
107VOID
108NTAPI
111 IN PCSZ,
112 IN INT);
113
114VOID
115NTAPI
118 IN PCWSTR,
119 IN INT);
120
121BOOL
122NTAPI
126
127#define NB_HOOKS (WH_MAXHOOK - WH_MINHOOK + 1)
128
129/*
130 * DESKTOPINFO structure.
131 * See also: https://reactos.org/wiki/Techwiki:Win32k/DESKTOP
132 */
133typedef struct _DESKTOPINFO
134{
137 struct _WND *spwnd;
140
146
148
149 union
150 {
152 struct
153 {
155 };
156 };
157
160
161#define CTI_THREADSYSLOCK 0x0001
162#define CTI_INSENDMESSAGE 0x0002
163
164/*
165 * CLIENTTHREADINFO structure.
166 * See also: https://reactos.org/wiki/Techwiki:Win32k/CLIENTTHREADINFO
167 */
168typedef struct _CLIENTTHREADINFO
169{
175 ULONG timeLastRead; // Last time the message queue was read.
178
179typedef struct _HEAD
180{
184
185typedef struct _THROBJHEAD
186{
190
191typedef struct _THRDESKHEAD
192{
197
198typedef struct tagIMC
199{
205
206#ifndef _WIN64
208C_ASSERT(offsetof(IMC, head.cLockObj) == 0x4);
209C_ASSERT(offsetof(IMC, head.pti) == 0x8);
213#endif
214
215typedef struct _PROCDESKHEAD
216{
222
223typedef struct _PROCMARKHEAD
224{
229
230#define UserHMGetHandle(obj) ((obj)->head.h)
231#define UserHMSetHandle(obj, handle) ((obj)->head.h = (handle))
232
233/* Window Client Information structure */
234struct _ETHREAD;
235
236#define WEF_SETBYWNDPTI 0x0001
237
238typedef struct tagHOOK
239{
241 struct tagHOOK *phkNext; /* This is for user space. */
242 int HookId; /* Hook table index */
244 ULONG flags; /* Some internal flags */
248 /* ReactOS */
249 LIST_ENTRY Chain; /* Hook chain entry */
250 HOOKPROC Proc; /* Hook function */
251 BOOLEAN Ansi; /* Is it an Ansi hook? */
252 UNICODE_STRING ModuleName; /* Module name for global hooks */
254
255typedef struct tagCLIPBOARDDATA
256{
261
262/* THREADINFO Flags */
263#define TIF_INCLEANUP 0x00000001
264#define TIF_16BIT 0x00000002
265#define TIF_SYSTEMTHREAD 0x00000004
266#define TIF_CSRSSTHREAD 0x00000008
267#define TIF_TRACKRECTVISIBLE 0x00000010
268#define TIF_ALLOWFOREGROUNDACTIVATE 0x00000020
269#define TIF_DONTATTACHQUEUE 0x00000040
270#define TIF_DONTJOURNALATTACH 0x00000080
271#define TIF_WOW64 0x00000100
272#define TIF_INACTIVATEAPPMSG 0x00000200
273#define TIF_SPINNING 0x00000400
274#define TIF_PALETTEAWARE 0x00000800
275#define TIF_SHAREDWOW 0x00001000
276#define TIF_FIRSTIDLE 0x00002000
277#define TIF_WAITFORINPUTIDLE 0x00004000
278#define TIF_MOVESIZETRACKING 0x00008000
279#define TIF_VDMAPP 0x00010000
280#define TIF_DOSEMULATOR 0x00020000
281#define TIF_GLOBALHOOKER 0x00040000
282#define TIF_DELAYEDEVENT 0x00080000
283#define TIF_MSGPOSCHANGED 0x00100000
284#define TIF_SHUTDOWNCOMPLETE 0x00200000
285#define TIF_IGNOREPLAYBACKDELAY 0x00400000
286#define TIF_ALLOWOTHERACCOUNTHOOK 0x00800000
287#define TIF_GUITHREADINITIALIZED 0x02000000
288#define TIF_DISABLEIME 0x04000000
289#define TIF_INGETTEXTLENGTH 0x08000000
290#define TIF_ANSILENGTH 0x10000000
291#define TIF_DISABLEHOOKS 0x20000000
292
293typedef struct _CALLBACKWND
294{
296 struct _WND *pWnd;
299
300#define CI_TRANSACTION 0x00000001
301#define CI_QUEUEMSG 0x00000002
302#define CI_WOW 0x00000004
303#define CI_INITTHREAD 0x00000008
304#define CI_CURTHPRHOOK 0x00000010
305#define CI_CLASSESREGISTERED 0x00000020
306#define CI_IMMACTIVATE 0x00000040 /* IMM/IME (Asian input) */
307#define CI_CTFCOINIT 0x00000080 /* Did CTF CoInitialize? */
308#define CI_CTFTIM 0x00000100 /* CTF Thread Input Manager (TIM) */
309#define CI_CICERO_STARTED 0x00000200 /* Is Cicero started in the thread? */
310#define CI_TSFDISABLED 0x00000400 /* TSF (Text Services Framework a.k.a. Cicero) */
311#define CI_AIMMACTIVATED 0x00000800 /* Active IMM (AIMM) */
312
313/*
314 * CLIENTINFO structure.
315 * See also: https://reactos.org/wiki/Techwiki:Win32k/CLIENTINFO
316 */
317typedef struct _CLIENTINFO
318{
324 DWORD dwTIFlags; /* ThreadInfo TIF_Xxx flags for User space. */
345/* It's just a pointer reference not to be used w the structure in user space. */
348
349/* Make sure it fits into the TEB */
350C_ASSERT(sizeof(CLIENTINFO) <= sizeof(((PTEB)0)->Win32ClientInfo));
351
352#define GetWin32ClientInfo() ((PCLIENTINFO)(NtCurrentTeb()->Win32ClientInfo))
353
354typedef struct tagDDEPACK
355{
359
360#define HRGN_NULL ((HRGN)0) /* NULL empty region */
361#define HRGN_WINDOW ((HRGN)1) /* region from window rcWindow */
362#define HRGN_MONITOR ((HRGN)2) /* region from monitor region. */
363
364/* Menu Item fType. */
365#define MFT_RTOL 0x6000
366
367/* Menu Item fState. */
368#define MFS_HBMMENUBMP 0x20000000
369
370typedef struct tagITEM
371{
375 struct tagMENU *spSubMenu; /* Pop-up menu. */
378 USHORT *Xlpstr; /* Item text pointer. */
381 ULONG xItem; /* Item position. left */
382 ULONG yItem; /* " top */
383 ULONG cxItem; /* Item Size Width */
384 ULONG cyItem; /* " Height */
385 ULONG dxTab; /* X position of text after Tab */
386 ULONG ulX; /* underline.. start position */
387 ULONG ulWidth; /* underline.. width */
388 HBITMAP hbmp; /* bitmap */
389 INT cxBmp; /* Width Maximum size of the bitmap items in MIIM_BITMAP state */
390 INT cyBmp; /* Height " */
391 /* ReactOS */
394
395typedef struct tagMENULIST
396{
398 struct tagMENU *pMenu;
400
401/* Menu fFlags, upper byte is MNS_X style flags. */
402#define MNF_POPUP 0x0001
403#define MNF_UNDERLINE 0x0004
404#define MNF_INACTIVE 0x0010
405#define MNF_RTOL 0x0020
406#define MNF_DESKTOPMN 0x0040
407#define MNF_SYSDESKMN 0x0080
408#define MNF_SYSSUBMENU 0x0100
409/* Hack */
410#define MNF_SYSMENU 0x0200
411
412/* (other FocusedItem values give the position of the focused item) */
413#define NO_SELECTED_ITEM 0xffff
414
415typedef struct tagMENU
416{
418 ULONG fFlags; /* [Style flags | Menu flags] */
419 INT iItem; /* nPos of selected item, if -1 not selected. AKA focused item */
420 UINT cAlloced; /* Number of allocated items. Inc's of 8 */
421 UINT cItems; /* Number of items in the menu */
422 ULONG cxMenu; /* Width of the whole menu */
423 ULONG cyMenu; /* Height of the whole menu */
424 ULONG cxTextAlign; /* Offset of text when items have both bitmaps and text */
425 struct _WND *spwndNotify; /* window receiving the messages for ownerdraw */
426 PITEM rgItems; /* Array of menu items */
427 struct tagMENULIST *pParentMenus; /* If this is SubMenu, list of parents. */
429 ULONG cyMax; /* max height of the whole menu, 0 is screen height */
430 DWORD_PTR dwMenuData; /* application defined value */
431 HBRUSH hbrBack; /* brush for menu background */
432 INT iTop; /* Current scroll position Top */
433 INT iMaxTop; /* Current scroll position Max Top */
434 DWORD dwArrowsOn:2; /* Arrows: 0 off, 1 on, 2 to the top, 3 to the bottom. */
435 /* ReactOS */
437 HWND hWnd; /* Window containing the menu, use POPUPMENU */
440
441typedef struct tagPOPUPMENU
442{
466 // ULONG fDesktopMenu:1;
481
482typedef struct _REGISTER_SYSCLASS
483{
484 /* This is a reactos specific class used to initialize the
485 system window classes during user32 initialization */
491 HBRUSH hBrush;
495
496typedef struct _CLSMENUNAME
497{
502
503typedef struct tagSBDATA
504{
510
511typedef struct tagSBINFO
512{
517
518typedef struct tagSBCALC
519{
537
538typedef enum _GETCPD
539{
540 UserGetCPDA2U = 0x01, /* " Unicode " */
541 UserGetCPDU2A = 0X02, /* " Ansi " */
545 UserGetCPDWndtoCls = 0X80
547
548typedef struct _CALLPROCDATA
549{
555
556#define CSF_SERVERSIDEPROC 0x0001
557#define CSF_ANSIPROC 0x0002
558#define CSF_WOWDEFERDESTROY 0x0004
559#define CSF_SYSTEMCLASS 0x0008
560#define CSF_WOWCLASS 0x0010
561#define CSF_WOWEXTRA 0x0020
562#define CSF_CACHEDSMICON 0x0040
563#define CSF_WIN40COMPAT 0x0080
564
565typedef struct _CLS
566{
567 struct _CLS *pclsNext;
574 PSTR lpszClientAnsiMenuName; /* For client use */
577 struct _CLS *pclsBase;
588 PWSTR lpszMenuName; /* kernel use */
592 UINT Unicode:1; // !CSF_ANSIPROC
593 UINT Global:1; // CS_GLOBALCLASS or CSF_SERVERSIDEPROC
597
598typedef struct _SBINFOEX
599{
603
604/* State Flags !Not ALL Implemented! */
605#define WNDS_HASMENU 0X00000001
606#define WNDS_HASVERTICALSCROOLLBAR 0X00000002
607#define WNDS_HASHORIZONTALSCROLLBAR 0X00000004
608#define WNDS_HASCAPTION 0X00000008
609#define WNDS_SENDSIZEMOVEMSGS 0X00000010
610#define WNDS_MSGBOX 0X00000020
611#define WNDS_ACTIVEFRAME 0X00000040
612#define WNDS_HASSPB 0X00000080
613#define WNDS_NONCPAINT 0X00000100
614#define WNDS_SENDERASEBACKGROUND 0X00000200
615#define WNDS_ERASEBACKGROUND 0X00000400
616#define WNDS_SENDNCPAINT 0X00000800
617#define WNDS_INTERNALPAINT 0X00001000
618#define WNDS_UPDATEDIRTY 0X00002000
619#define WNDS_HIDDENPOPUP 0X00004000
620#define WNDS_FORCEMENUDRAW 0X00008000
621#define WNDS_DIALOGWINDOW 0X00010000
622#define WNDS_HASCREATESTRUCTNAME 0X00020000
623#define WNDS_SERVERSIDEWINDOWPROC 0x00040000 /* Call proc inside win32k. */
624#define WNDS_ANSIWINDOWPROC 0x00080000
625#define WNDS_BEINGACTIVATED 0x00100000
626#define WNDS_HASPALETTE 0x00200000
627#define WNDS_PAINTNOTPROCESSED 0x00400000
628#define WNDS_SYNCPAINTPENDING 0x00800000
629#define WNDS_RECEIVEDQUERYSUSPENDMSG 0x01000000
630#define WNDS_RECEIVEDSUSPENDMSG 0x02000000
631#define WNDS_TOGGLETOPMOST 0x04000000
632#define WNDS_REDRAWIFHUNG 0x08000000
633#define WNDS_REDRAWFRAMEIFHUNG 0x10000000
634#define WNDS_ANSICREATOR 0x20000000
635#define WNDS_MAXIMIZESTOMONITOR 0x40000000
636#define WNDS_DESTROYED 0x80000000
637
638#define WNDSACTIVEFRAME 0x00000006
639
640/* State2 Flags !Not ALL Implemented! */
641#define WNDS2_WMPAINTSENT 0X00000001
642#define WNDS2_ENDPAINTINVALIDATE 0X00000002
643#define WNDS2_STARTPAINT 0X00000004
644#define WNDS2_OLDUI 0X00000008
645#define WNDS2_HASCLIENTEDGE 0X00000010
646#define WNDS2_BOTTOMMOST 0X00000020
647#define WNDS2_FULLSCREEN 0X00000040
648#define WNDS2_INDESTROY 0X00000080
649#define WNDS2_WIN31COMPAT 0X00000100
650#define WNDS2_WIN40COMPAT 0X00000200
651#define WNDS2_WIN50COMPAT 0X00000400
652#define WNDS2_MAXIMIZEDMONITORREGION 0X00000800
653#define WNDS2_CLOSEBUTTONDOWN 0X00001000
654#define WNDS2_MAXIMIZEBUTTONDOWN 0X00002000
655#define WNDS2_MINIMIZEBUTTONDOWN 0X00004000
656#define WNDS2_HELPBUTTONDOWN 0X00008000
657#define WNDS2_SCROLLBARLINEUPBTNDOWN 0X00010000
658#define WNDS2_SCROLLBARPAGEUPBTNDOWN 0X00020000
659#define WNDS2_SCROLLBARPAGEDOWNBTNDOWN 0X00040000
660#define WNDS2_SCROLLBARLINEDOWNBTNDOWN 0X00080000
661#define WNDS2_ANYSCROLLBUTTONDOWN 0X00100000
662#define WNDS2_SCROLLBARVERTICALTRACKING 0X00200000
663#define WNDS2_FORCENCPAINT 0X00400000
664#define WNDS2_FORCEFULLNCPAINTCLIPRGN 0X00800000
665#define WNDS2_FULLSCREENMODE 0X01000000
666#define WNDS2_CAPTIONTEXTTRUNCATED 0X08000000
667#define WNDS2_NOMINMAXANIMATERECTS 0X10000000
668#define WNDS2_SMALLICONFROMWMQUERYDRAG 0X20000000
669#define WNDS2_SHELLHOOKREGISTERED 0X40000000
670#define WNDS2_WMCREATEMSGPROCESSED 0X80000000
671
672/* ExStyles2 */
673#define WS_EX2_CLIPBOARDLISTENER 0X00000001
674#define WS_EX2_LAYEREDINVALIDATE 0X00000002
675#define WS_EX2_REDIRECTEDFORPRINT 0X00000004
676#define WS_EX2_LINKED 0X00000008
677#define WS_EX2_LAYEREDFORDWM 0X00000010
678#define WS_EX2_LAYEREDLIMBO 0X00000020
679#define WS_EX2_HIGHTDPI_UNAWAR 0X00000040
680#define WS_EX2_VERTICALLYMAXIMIZEDLEFT 0X00000080
681#define WS_EX2_VERTICALLYMAXIMIZEDRIGHT 0X00000100
682#define WS_EX2_HASOVERLAY 0X00000200
683#define WS_EX2_CONSOLEWINDOW 0X00000400
684#define WS_EX2_CHILDNOACTIVATE 0X00000800
685
686#define WPF_MININIT 0x0008
687#define WPF_MAXINIT 0x0010
688
689/*
690 * WND structure.
691 * See also: https://reactos.org/wiki/Techwiki:Win32k/WND
692 */
693typedef struct _WND
694{
696#if 0
697 WW ww;
698#else
699 /* These fields should be moved in the WW at some point. */
700 /* Plese do not change them to keep the same layout with WW. */
703 /* Extended style. */
705 /* Style. */
707 /* Handle of the module that created the window. */
710#endif
719 /* Pointer to the window class. */
722 /* Property list head.*/
725 /* Scrollbar info */
727 /* system menu handle. */
729 //PMENU spmenuSys;
730 /* Window menu handle or window id */
731 UINT_PTR IDMenu; // Use spmenu
732 //PMENU spmenu;
735 /* Window name. */
737 /* Size of the extra data associated with the window. */
740 HIMC hImc; // Input context associated with this window.
743 //PD3DMATRIX pTransForm;
746
747 /* ReactOS */
748 struct
749 {
753 UINT flags; /* WPF_ flags. */
755
756 UINT Unicode:1; /* !(WNDS_ANSICREATOR|WNDS_ANSIWINDOWPROC) ? */
758 UINT HideFocus:1; /* WS_EX_UISTATEFOCUSRECTHIDDEN ? */
759 UINT HideAccel:1; /* WS_EX_UISTATEKBACCELHIDDEN ? */
760
761 /* Scrollbar info */
762 PSBINFOEX pSBInfoex; // convert to PSBINFO
763 /* Entry in the list of thread windows. */
765
768
769#define PWND_BOTTOM ((PWND)1)
770
771typedef struct _SBWND
772{
778
779typedef struct _MDIWND
780{
785
786#define GWLP_MDIWND 4
787
788typedef struct _MENUWND
789{
793
794typedef struct _PFNCLIENT
795{
820
821/*
822 Wine Common proc ( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam, BOOL Unicode );
823 Windows uses Ansi == TRUE, Wine uses Unicode == TRUE.
824 */
825
826typedef LRESULT
828 HWND,
829 UINT,
830 WPARAM,
831 LPARAM,
832 BOOL);
833
834typedef struct _PFNCLIENTWORKER
835{
848
849typedef LONG_PTR
850(NTAPI *PFN_FNID)(
851 PWND,
852 UINT,
853 WPARAM,
854 LPARAM,
855 ULONG_PTR);
856
857/* FNID's for NtUserSetWindowFNID, NtUserMessageCall */
858#define FNID_FIRST 0x029A
859#define FNID_SCROLLBAR 0x029A
860#define FNID_ICONTITLE 0x029B
861#define FNID_MENU 0x029C
862#define FNID_DESKTOP 0x029D
863#define FNID_DEFWINDOWPROC 0x029E
864#define FNID_MESSAGEWND 0x029F
865#define FNID_SWITCH 0x02A0
866#define FNID_BUTTON 0x02A1
867#define FNID_COMBOBOX 0x02A2
868#define FNID_COMBOLBOX 0x02A3
869#define FNID_DIALOG 0x02A4
870#define FNID_EDIT 0x02A5
871#define FNID_LISTBOX 0x02A6
872#define FNID_MDICLIENT 0x02A7
873#define FNID_STATIC 0x02A8
874#define FNID_IME 0x02A9
875#define FNID_GHOST 0x02AA
876#define FNID_CALLWNDPROC 0x02AB
877#define FNID_CALLWNDPROCRET 0x02AC
878#define FNID_HKINLPCWPEXSTRUCT 0x02AD
879#define FNID_HKINLPCWPRETEXSTRUCT 0x02AE
880#define FNID_MB_DLGPROC 0x02AF
881#define FNID_MDIACTIVATEDLGPROC 0x02B0
882#define FNID_SENDMESSAGE 0x02B1
883#define FNID_SENDMESSAGEFF 0x02B2
884/* Kernel has option to use TimeOut or normal msg send, based on type of msg. */
885#define FNID_SENDMESSAGEWTOOPTION 0x02B3
886#define FNID_SENDMESSAGECALLPROC 0x02B4
887#define FNID_BROADCASTSYSTEMMESSAGE 0x02B5
888#define FNID_TOOLTIPS 0x02B6
889#define FNID_SENDNOTIFYMESSAGE 0x02B7
890#define FNID_SENDMESSAGECALLBACK 0x02B8
891
892#define FNID_LAST FNID_SENDMESSAGECALLBACK
893
894#define FNID_NUM (FNID_LAST - FNID_FIRST + 1)
895#define FNID_NUMSERVERPROC (FNID_SWITCH - FNID_FIRST + 1)
896
897#define FNID_DDEML 0x2000 /* Registers DDEML */
898#define FNID_DESTROY 0x4000 /* This is sent when WM_NCDESTROY or in the support routine. */
899 /* Seen during WM_CREATE on error exit too. */
900#define FNID_FREED 0x8000 /* Window being Freed... */
901
902#define ICLASS_TO_MASK(iCls) (1 << ((iCls)))
903
904#define GETPFNCLIENTA(fnid) \
905 (WNDPROC)(*(((ULONG_PTR *)&gpsi->apfnClientA) + (fnid - FNID_FIRST)))
906#define GETPFNCLIENTW(fnid) \
907 (WNDPROC)(*(((ULONG_PTR *)&gpsi->apfnClientW) + (fnid - FNID_FIRST)))
908
909#define GETPFNSERVER(fnid) gpsi->aStoCidPfn[fnid - FNID_FIRST]
910
911/* ICLS's for NtUserGetClassName FNID to ICLS, NtUserInitializeClientPfnArrays */
912#define ICLS_BUTTON 0
913#define ICLS_EDIT 1
914#define ICLS_STATIC 2
915#define ICLS_LISTBOX 3
916#define ICLS_SCROLLBAR 4
917#define ICLS_COMBOBOX 5
918#define ICLS_MDICLIENT 6
919#define ICLS_COMBOLBOX 7
920#define ICLS_DDEMLEVENT 8
921#define ICLS_DDEMLMOTHER 9
922#define ICLS_DDEML16BIT 10
923#define ICLS_DDEMLCLIENTA 11
924#define ICLS_DDEMLCLIENTW 12
925#define ICLS_DDEMLSERVERA 13
926#define ICLS_DDEMLSERVERW 14
927#define ICLS_IME 15
928#define ICLS_GHOST 16
929#define ICLS_DESKTOP 17
930#define ICLS_DIALOG 18
931#define ICLS_MENU 19
932#define ICLS_SWITCH 20
933#define ICLS_ICONTITLE 21
934#define ICLS_TOOLTIPS 22
935#if (_WIN32_WINNT <= 0x0501)
936#define ICLS_UNKNOWN 22
937#define ICLS_NOTUSED 23
938#else
939#define ICLS_SYSSHADOW 23
940#define ICLS_HWNDMESSAGE 24
941#define ICLS_NOTUSED 25
942#endif
943#define ICLS_END 31
944
945#define COLOR_LAST COLOR_MENUBAR
946#define MAX_MB_STRINGS 11
947
948#define SRVINFO_DBCSENABLED 0x0002
949#define SRVINFO_IMM32 0x0004
950#define SRVINFO_APIHOOK 0x0010
951#define SRVINFO_CICERO_ENABLED 0x0020
952#define SRVINFO_KBDPREF 0x0080
953
954#define NUM_SYSCOLORS 31
955
956typedef struct tagOEMBITMAPINFO
957{
963
964typedef enum _OBI_TYPES
965{
972 OBI_CTYPES = 93
974
975typedef struct tagMBSTRING
976{
981
982typedef struct tagDPISERVERINFO
983{
984 INT gclBorder; /* 000 */
986 HFONT hMsgFont; /* 008 */
989 UINT wMaxBtnSize; /* 014 */
991
992/* PUSIFlags: */
993#define PUSIF_PALETTEDISPLAY 0x01
994#define PUSIF_SNAPTO 0x02
995#define PUSIF_COMBOBOXANIMATION 0x04
996#define PUSIF_LISTBOXSMOOTHSCROLLING 0x08
997#define PUSIF_KEYBOARDCUES 0x20
998
999/*
1000 * PERUSERSERVERINFO structure.
1001 * See also: https://reactos.org/wiki/Techwiki:Win32k/SERVERINFO
1002 */
1004{
1009 HBRUSH hbrGray;
1044
1045/*
1046 * SERVERINFO structure.
1047 * See also: https://reactos.org/wiki/Techwiki:Win32k/SERVERINFO
1048 */
1049typedef struct tagSERVERINFO
1050{
1074
1075#ifdef _M_IX86
1076C_ASSERT(sizeof(SERVERINFO) <= PAGE_SIZE);
1077#endif
1078
1079
1080/* Server event activity bits. */
1081#define SRV_EVENT_MENU 0x0001
1082#define SRV_EVENT_END_APPLICATION 0x0002
1083#define SRV_EVENT_RUNNING 0x0004
1084#define SRV_EVENT_NAMECHANGE 0x0008
1085#define SRV_EVENT_VALUECHANGE 0x0010
1086#define SRV_EVENT_STATECHANGE 0x0020
1087#define SRV_EVENT_LOCATIONCHANGE 0x0040
1088#define SRV_EVENT_CREATE 0x8000
1089
1090typedef struct _PROPLISTITEM
1091{
1095
1096#define PROPERTY_FLAG_SYSTEM 1
1097
1098typedef struct _PROPERTY
1099{
1105
1106typedef struct _BROADCASTPARM
1107{
1110 HDESK hDesk;
1114
1117
1118typedef struct _WNDMSG
1119{
1123
1124/*
1125 * SHAREDINFO structure.
1126 * See also: https://reactos.org/wiki/Techwiki:Win32k/SHAREDINFO
1127 */
1128typedef struct _SHAREDINFO
1129{
1130 PSERVERINFO psi; /* Global Server Info */
1131 PVOID aheList; /* Handle Entry List */
1132 PVOID pDispInfo; /* Global PDISPLAYINFO pointer */
1133 ULONG_PTR ulSharedDelta; /* Shared USER mapped section delta */
1138
1139/* See also the USERSRV_API_CONNECTINFO #define in include/reactos/subsys/win/winmsg.h */
1140typedef struct _USERCONNECT
1141{
1147
1148/* WinNT 5.0 compatible user32 / win32k */
1149#define USER_VERSION MAKELONG(0x0000, 0x0005)
1150
1151#if defined(_M_IX86)
1152C_ASSERT(sizeof(USERCONNECT) == 0x124);
1153#endif
1154
1155typedef struct tagGETCLIPBDATA
1156{
1159 union
1160 {
1163 };
1165
1166typedef struct tagSETCLIPBDATA
1167{
1171
1172/* Used with NtUserSetCursorIconData, last parameter. */
1173typedef struct tagCURSORDATA
1174{
1186 HBITMAP hbmUserAlpha; /* Could be in W7U, not in W2k */
1196} CURSORDATA, *PCURSORDATA; /* !dso CURSORDATA */
1197
1198/* CURSORF_flags: */
1199#define CURSORF_FROMRESOURCE 0x0001
1200#define CURSORF_GLOBAL 0x0002
1201#define CURSORF_LRSHARED 0x0004
1202#define CURSORF_ACON 0x0008
1203#define CURSORF_WOWCLEANUP 0x0010
1204#define CURSORF_ACONFRAME 0x0040
1205#define CURSORF_SECRET 0x0080
1206#define CURSORF_LINKED 0x0100
1207#define CURSORF_CURRENT 0x0200
1208
1209#define IS_IMM_MODE() (gpsi && (gpsi->dwSRVIFlags & SRVINFO_IMM32))
1210#define IS_CICERO_MODE() (gpsi && (gpsi->dwSRVIFlags & SRVINFO_CICERO_ENABLED))
1211#define IS_16BIT_MODE() (GetWin32ClientInfo()->dwTIFlags & TIF_16BIT)
1212
1213typedef struct tagIMEUI
1214{
1221 struct {
1229 };
1232
1233/* Window Extra data container. */
1234typedef struct _IMEWND
1235{
1239
1240DWORD
1241NTAPI
1243
1245NTAPI
1246NtUserBuildHimcList(DWORD dwThreadId, DWORD dwCount, HIMC *phList, LPDWORD pdwCount);
1247
1248DWORD
1249NTAPI
1251 HWND hwnd,
1252 DWORD x,
1253 DWORD width,
1254 DWORD y,
1255 LPRECT prc);
1256
1257DWORD
1258NTAPI
1260 HMENU hmenu,
1261 UINT uIDCheckItem,
1262 UINT uCheck);
1263
1264DWORD
1265NTAPI
1267 DWORD dwUnknown1,
1268 DWORD dwUnknown2,
1269 DWORD dwUnknown3);
1270
1271DWORD
1274 DWORD Unknown0,
1275 DWORD Unknown1);
1276
1277DWORD
1280 DWORD Unknown0,
1281 DWORD Unknown1);
1282
1283BOOL
1284NTAPI
1286 HMENU hMenu,
1287 UINT uPosition,
1288 UINT uFlags);
1289
1290BOOL
1291NTAPI
1293 HMENU hMenu);
1294
1295DWORD
1296NTAPI
1298 HWND hWnd,
1299 HDC hDC,
1300 PRECT hRect,
1301 HMENU hMenu,
1302 HFONT hFont);
1303
1304UINT
1305NTAPI
1307 HMENU hMenu,
1308 UINT uIDEnableItem,
1309 UINT uEnable);
1310
1311BOOL
1312NTAPI
1314
1315BOOL
1316NTAPI
1318 HWND hwnd,
1319 LONG idObject,
1320 LONG idItem,
1321 PMENUBARINFO pmbi);
1322
1323UINT
1324NTAPI
1326 HMENU hMenu,
1327 HMENU hSubMenu);
1328
1329BOOL
1330NTAPI
1332 HWND hWnd,
1333 HMENU hMenu,
1334 UINT uItem,
1335 LPRECT lprcItem);
1336
1337HMENU
1338NTAPI
1340 HWND hWnd,
1341 BOOL bRevert);
1342
1343BOOL
1344NTAPI
1346 HWND hWnd,
1347 HMENU hMenu,
1348 UINT uItemHilite,
1349 UINT uHilite);
1350
1351int
1352NTAPI
1354 HWND hWnd,
1355 HMENU hMenu,
1356 DWORD X,
1357 DWORD Y);
1358
1359BOOL
1360NTAPI
1362 HMENU hMenu,
1363 UINT uPosition,
1364 UINT uFlags);
1365
1366BOOL
1367NTAPI
1369 HWND hWnd,
1370 HMENU hMenu,
1371 BOOL bRepaint);
1372
1373BOOL
1374NTAPI
1376 HMENU hmenu,
1377 DWORD dwContextHelpId);
1378
1379BOOL
1380NTAPI
1382 HMENU hMenu,
1383 UINT uItem,
1384 UINT fByPos);
1385
1386BOOL
1387NTAPI
1389 HMENU hMenu);
1390
1391BOOL
1392NTAPI
1394 HWND hWnd,
1395 HMENU hMenu);
1396
1397BOOL
1398NTAPI
1400 HMENU hMenu,
1401 LPCMENUINFO lpcmi);
1402
1403BOOL
1404NTAPI
1406 HMENU hMenu,
1407 UINT uItem,
1408 BOOL fByPosition,
1409 BOOL bInsert,
1410 LPMENUITEMINFOW lpmii,
1411 PUNICODE_STRING lpszCaption);
1412
1413BOOL
1414NTAPI
1416 HMENU hmenu,
1417 UINT fuFlags,
1418 int x,
1419 int y,
1420 HWND hwnd,
1421 LPTPMPARAMS lptpm);
1422
1423HKL
1424NTAPI
1426 HKL hKL,
1427 ULONG Flags);
1428
1429DWORD
1430NTAPI
1432 HWND hWnd,
1433 DWORD Index,
1434 LONG NewValue);
1435
1436BOOL
1437NTAPI
1439 IN DWORD idAttach,
1440 IN DWORD idAttachTo,
1441 IN BOOL fAttach);
1442
1443HDC NTAPI
1445 HWND hWnd,
1446 PAINTSTRUCT *lPs);
1447
1448BOOL
1449NTAPI
1451 HDC hdc,
1452 INT nXDest,
1453 INT nYDest,
1454 INT nWidth,
1455 INT nHeight,
1456 INT nXSrc,
1457 INT nYSrc,
1458 DWORD dwRop);
1459
1460BOOL
1461NTAPI
1463 BOOL BlockIt);
1464
1466NTAPI
1468 HDESK hDesktop,
1470 BOOLEAN bChildren,
1472 ULONG cHwnd,
1473 HWND *phwndList,
1474 ULONG *pcHwndNeeded);
1475
1477NTAPI
1479 HWINSTA hWinSta,
1480 ULONG dwSize,
1482 PULONG pRequiredSize);
1483
1485NTAPI
1487 HWND hWnd,
1488 LPVOID Buffer,
1490 DWORD *Count);
1491
1492/* apfnSimpleCall indices from Windows XP SP 2 */
1493/* TODO: Check for differences in Windows 2000, 2003 and 2008 */
1494#define WIN32K_VERSION NTDDI_WINXPSP2 /* FIXME: this should go somewhere else */
1495
1497{
1500#if (WIN32K_VERSION >= NTDDI_VISTA)
1505#endif
1507#if (WIN32K_VERSION < NTDDI_VISTA)
1511#endif
1516#if (WIN32K_VERSION >= NTDDI_VISTA)
1518#else
1519 NOPARAM_ROUTINE_GETREMOTEPROCESSID,
1520#endif
1523#if (WIN32K_VERSION >= NTDDI_VISTA)
1526#endif
1541#if (WIN32K_VERSION >= NTDDI_VISTA)
1543#endif
1546#if (WIN32K_VERSION < NTDDI_VISTA)
1548#endif
1550#if (WIN32K_VERSION >= NTDDI_VISTA)
1552#endif
1556#if (WIN32K_VERSION < NTDDI_VISTA)
1557 ONEPARAM_ROUTINE_CREATESYSTEMTHREADS,
1558#endif
1562#if (WIN32K_VERSION < NTDDI_VISTA)
1563 ONEPARAM_ROUTINE_GETCURSORPOS,
1564#endif
1571#if (WIN32K_VERSION < NTDDI_VISTA)
1572 ONEPARAM_ROUTINE_HANDLESYSTHRDCREATFAIL,
1573#endif
1580#if (WIN32K_VERSION < NTDDI_VISTA)
1581 ONEPARAM_ROUTINE_PREPAREFORLOGOFF,
1582#endif
1585#if (WIN32K_VERSION >= NTDDI_VISTA)
1587#endif
1591#if (WIN32K_VERSION >= NTDDI_VISTA)
1593#endif
1597#if (WIN32K_VERSION < NTDDI_VISTA)
1598 ONEPARAM_ROUTINE_SETIMESHOWSTATUS,
1599#endif
1602#if (WIN32K_VERSION >= NTDDI_VISTA)
1604#endif
1609#if (WIN32K_VERSION < NTDDI_VISTA)
1610 X_ROUTINE_REMOTENOTIFY,
1611#endif
1626 HWNDLOCK_ROUTINE_WINDOWHASSHADOW, /* correct prefix ? */
1645#if (WIN32K_VERSION >= NTDDI_VISTA)
1648#endif
1652#if (WIN32K_VERSION >= NTDDI_VISTA)
1654#endif
1656#if (WIN32K_VERSION >= NTDDI_VISTA)
1658#else
1659 TWOPARAM_ROUTINE_REGISTERSYSTEMTHREAD,
1660#endif
1666#if (WIN32K_VERSION >= NTDDI_VISTA)
1668#endif
1672
1674NTAPI
1676 HWND hWnd,
1677 DWORD Routine);
1678
1679BOOL
1680NTAPI
1682 HWND hWnd,
1683 DWORD Routine);
1684
1685HWND
1686NTAPI
1688 HWND hWnd,
1689 DWORD Routine);
1690
1691DWORD
1692NTAPI
1694 HWND hWnd,
1695 DWORD_PTR Param,
1696 DWORD Routine);
1697
1698DWORD
1699NTAPI
1701 HWND hWnd,
1702 DWORD_PTR Param,
1703 DWORD Routine);
1704
1705BOOL
1706NTAPI
1708 LPMSG msg,
1709 INT code);
1710
1711LRESULT
1712NTAPI
1714 int Code,
1715 WPARAM wParam,
1716 LPARAM lParam,
1717 BOOL Ansi);
1718
1720NTAPI
1722 DWORD Routine);
1723
1725NTAPI
1727 DWORD_PTR Param,
1728 DWORD Routine);
1729
1731NTAPI
1733 DWORD_PTR Param1,
1734 DWORD_PTR Param2,
1735 DWORD Routine);
1736
1737BOOL
1738NTAPI
1740 HWND hWndRemove,
1741 HWND hWndNewNext);
1742
1743LONG
1744NTAPI
1746 PUNICODE_STRING lpszDeviceName,
1748 DWORD dwflags,
1749 LPVOID lParam);
1750
1751BOOL
1752NTAPI
1755
1756BOOL
1757NTAPI
1759 HWND hwnd,
1762
1763DWORD
1764NTAPI
1766 UINT uVirtualKey,
1767 LPARAM lParam);
1768
1769HWND NTAPI
1771 HWND Parent,
1772 LONG x,
1773 LONG y,
1774 UINT Flags);
1775
1776BOOL
1777NTAPI
1779 RECT *lpRect);
1780
1781BOOL
1782NTAPI
1784
1785BOOL
1786NTAPI
1788 HDESK hDesktop);
1789
1790BOOL
1791NTAPI
1793 HWINSTA hWinSta);
1794
1795/* Console commands for NtUserConsoleControl */
1797{
1803
1805{
1809
1813 IN CONSOLECONTROL ConsoleCtrl,
1814 IN PVOID ConsoleCtrlInfo,
1815 IN ULONG ConsoleCtrlInfoLength);
1816
1817HANDLE
1818NTAPI
1820 PVOID pData,
1821 DWORD cbData);
1822
1823ULONG
1824NTAPI
1826 HACCEL Table,
1828 ULONG EntriesCount);
1829
1830DWORD
1831NTAPI
1833
1834HACCEL
1835NTAPI
1838 ULONG EntriesCount);
1839
1840BOOL
1841NTAPI
1843 HWND hWnd,
1845 int nWidth,
1846 int nHeight);
1847
1848HDESK
1849NTAPI
1852 PUNICODE_STRING lpszDesktopDevice,
1853 LPDEVMODEW lpdmw,
1854 DWORD dwFlags,
1855 ACCESS_MASK dwDesiredAccess);
1856
1857HIMC
1858NTAPI
1859NtUserCreateInputContext(ULONG_PTR dwClientImcData);
1860
1862NTAPI
1864 HANDLE hMem,
1865 PVOID pData,
1866 DWORD cbData,
1867 DWORD *pcbData);
1868
1869HWND
1870NTAPI
1872 DWORD dwExStyle,
1873 PLARGE_STRING plstrClassName,
1874 PLARGE_STRING plstrClsVersion,
1875 PLARGE_STRING plstrWindowName,
1876 DWORD dwStyle,
1877 int x,
1878 int y,
1879 int nWidth,
1880 int nHeight,
1882 HMENU hMenu,
1884 LPVOID lpParam,
1885 DWORD dwFlags,
1886 PVOID acbiBuffer);
1887
1888HWINSTA
1889NTAPI
1892 ACCESS_MASK dwDesiredAccess,
1893 DWORD Unknown2,
1897 DWORD Unknown6);
1898
1899BOOL
1900NTAPI
1902 IN HWND hwndClient,
1903 IN HWND hWndServer,
1905
1906DWORD
1907NTAPI
1909 DWORD Unknown0,
1910 DWORD Unknown1,
1911 DWORD Unknown2,
1913 DWORD Unknown4);
1914
1915BOOL
1916NTAPI
1918 IN HWND hwndClient,
1921
1922HDWP
1923NTAPI
1925 HDWP WinPosInfo,
1926 HWND Wnd,
1927 HWND WndInsertAfter,
1928 int x,
1929 int y,
1930 int cx,
1931 int cy,
1932 UINT Flags);
1933
1934BOOL
1935NTAPI
1937 HWND WindowHandle,
1938 PLARGE_STRING WindowText);
1939
1940BOOLEAN
1941NTAPI
1943 HACCEL Table);
1944
1945BOOL
1946NTAPI
1949 _In_ BOOL bForce);
1950
1951BOOL
1952NTAPI
1954
1955BOOLEAN
1956NTAPI
1958 HWND Wnd);
1959
1960BOOL
1961NTAPI
1963 DWORD dwThreadID);
1964
1965LRESULT
1966NTAPI
1968 PMSG pMsg);
1969
1970BOOL
1971NTAPI
1973 HWND hWnd,
1974 POINT pt);
1975
1976DWORD
1977NTAPI
1979 HWND hwnd1,
1980 HWND hwnd2,
1981 UINT u1,
1982 DWORD dw1,
1983 HCURSOR hc1);
1984
1985BOOL
1986NTAPI
1988 HWND hwnd,
1989 INT idAni,
1990 RECT *lprcFrom,
1991 RECT *lprcTo);
1992
1993BOOL
1994NTAPI
1996 HWND hWnd,
1997 HDC hDc,
1998 LPCRECT lpRc,
1999 UINT uFlags);
2000
2001BOOL
2002NTAPI
2004 HWND hWnd,
2005 HDC hDC,
2006 LPCRECT lpRc,
2007 HFONT hFont,
2008 HICON hIcon,
2009 const PUNICODE_STRING str,
2010 UINT uFlags);
2011
2012/* Used with NtUserDrawIconEx, last parameter. */
2013typedef struct _DRAWICONEXDATA
2014{
2017 int cx;
2018 int cy;
2020
2021BOOL
2022NTAPI
2024 HDC hdc,
2025 int xLeft,
2026 int yTop,
2027 HICON hIcon,
2028 int cxWidth,
2029 int cyWidth,
2030 UINT istepIfAniCur,
2031 HBRUSH hbrFlickerFreeDraw,
2032 UINT diFlags,
2033 BOOL bMetaHDC,
2034 PVOID pDIXData);
2035
2036BOOL
2037NTAPI
2039
2040BOOL
2041NTAPI
2043 HWND hWnd,
2044 UINT wSBflags,
2045 UINT wArrows);
2046
2047BOOL
2048NTAPI
2050 HDWP WinPosInfo,
2051 BOOL bAsync);
2052
2053BOOL
2054NTAPI
2056 HWND hWnd,
2057 CONST PAINTSTRUCT *lPs);
2058
2059BOOL
2060NTAPI
2062 PUNICODE_STRING lpDevice, /* device name */
2063 DWORD iDevNum, /* display device */
2064 PDISPLAY_DEVICEW lpDisplayDevice, /* device information */
2065 DWORD dwFlags); /* reserved */
2066
2067/*
2068BOOL
2069NTAPI
2070NtUserEnumDisplayMonitors(
2071 HDC hdc,
2072 LPCRECT lprcClip,
2073 MONITORENUMPROC lpfnEnum,
2074 LPARAM dwData);
2075*/
2076/* FIXME: The call below is ros-specific and should be rewritten to use the same params as the correct call above. */
2077INT
2078NTAPI
2081 OPTIONAL IN LPCRECT pRect,
2082 OPTIONAL OUT HMONITOR *hMonitorList,
2083 OPTIONAL OUT LPRECT monitorRectList,
2084 OPTIONAL IN DWORD listSize);
2085
2086
2088NTAPI
2090 PUNICODE_STRING lpszDeviceName,
2092 LPDEVMODEW lpDevMode, /* FIXME is this correct? */
2093 DWORD dwFlags);
2094
2095DWORD
2096NTAPI
2098 DWORD Unknown0);
2099
2100INT
2101NTAPI
2103 HDC hDC,
2104 HWND hWnd);
2105
2106BOOL
2107NTAPI
2109 HWND hWndPaint,
2110 HWND hWndPaint1,
2111 HDC hDC,
2112 HBRUSH hBrush);
2113
2114HWND
2115NTAPI
2118 HWND hwndChildAfter,
2119 PUNICODE_STRING ucClassName,
2120 PUNICODE_STRING ucWindowName,
2121 DWORD dwUnknown);
2122
2123BOOL
2124NTAPI
2126 IN PFLASHWINFO pfwi);
2127
2128BOOL
2129NTAPI
2131 HWND hwnd,
2132 INT iItem,
2133 PALTTABINFO pati,
2134 LPWSTR pszItemText,
2135 UINT cchItemText,
2136 BOOL Ansi);
2137
2138HWND
2139NTAPI
2141 HWND hWnd,
2142 UINT Flags);
2143
2144DWORD
2145NTAPI
2147
2148SHORT
2149NTAPI
2151 INT Key);
2152
2153_Success_(return != 0)
2154_At_(pustrName->Buffer, _Out_z_bytecap_post_bytecount_(pustrName->MaximumLength, return * 2 + 2))
2155ULONG
2157NtUserGetAtomName(
2158 _In_ ATOM atom,
2159 _Inout_ PUNICODE_STRING pustrName);
2160
2161UINT
2162NTAPI
2164
2165BOOL
2166NTAPI
2168 LPPOINT lpPoint);
2169
2170BOOL
2171NTAPI
2174 PUNICODE_STRING ClassName,
2175 LPWNDCLASSEXW wcex,
2176 LPWSTR *ppszMenuName,
2177 BOOL Ansi);
2178
2179INT
2180NTAPI
2182 HWND hWnd,
2183 BOOL Real, /* 0 GetClassNameW, 1 RealGetWindowClassA/W */
2184 PUNICODE_STRING ClassName);
2185
2186HANDLE
2187NTAPI
2189 UINT fmt,
2190 PGETCLIPBDATA pgcd);
2191
2192INT
2193NTAPI
2195 UINT uFormat,
2196 LPWSTR lpszFormatName,
2197 INT cchMaxCount);
2198
2199HWND
2200NTAPI
2202
2203DWORD
2204NTAPI
2206
2207HWND
2208NTAPI
2210
2211BOOL
2212NTAPI
2214 RECT *lpRect);
2215
2216BOOL
2217NTAPI
2219 HWND hWnd,
2220 PCOMBOBOXINFO pcbi);
2221
2222HBRUSH
2223NTAPI
2225 HWND hwnd,
2226 HDC hdc,
2227 UINT ctlType);
2228
2229HBRUSH
2230NTAPI
2233 HWND hwnd,
2234 HDC hdc,
2235 UINT CtlMsg);
2236
2238NTAPI
2240 HWND hWnd,
2241 GETCPD Flags,
2242 ULONG_PTR Proc);
2243
2244HCURSOR
2245NTAPI
2247 HCURSOR hCursor,
2248 DWORD istep,
2249 INT *rate_jiffies,
2250 DWORD *num_steps);
2251
2252BOOL
2253NTAPI
2255 PCURSORINFO pci);
2256
2257HDC
2258NTAPI
2260 HWND hWnd);
2261
2262HDC
2263NTAPI
2265 HWND hWnd,
2266 HANDLE hRegion,
2267 ULONG Flags);
2268
2269UINT
2270NTAPI
2272
2273HWND
2274NTAPI
2276
2277DWORD
2278NTAPI
2281 DWORD uiFlags);
2282
2283BOOL
2284NTAPI
2286 DWORD idThread,
2287 LPGUITHREADINFO lpgui);
2288
2290BOOL
2291NTAPI
2292NtUserGetIconInfo(
2293 _In_ HANDLE hCurIcon,
2299
2300BOOL
2301NTAPI
2303 HANDLE Handle,
2304 UINT istepIfAniCur,
2305 LONG *plcx,
2306 LONG *plcy);
2307
2308BOOL
2309NTAPI
2310NtUserGetImeHotKey(DWORD dwHotKeyId,
2311 LPUINT lpuModifiers,
2312 LPUINT lpuVirtualKey,
2313 LPHKL lphKL);
2314
2315BOOL
2316NTAPI
2318 PIMEINFOEX pImeInfoEx,
2319 IMEINFOEXCLASS SearchType);
2320
2321DWORD
2322NTAPI
2324 HWND hwnd,
2325 LPRECT rectWnd,
2326 LPPOINT ptIcon);
2327
2328HKL
2329NTAPI
2331 DWORD dwThreadid);
2332
2333UINT
2334NTAPI
2336 ULONG nItems,
2337 HKL *pHklBuff);
2338
2339BOOL
2340NTAPI
2342 _Inout_ PUNICODE_STRING pustrName);
2343
2344DWORD
2345NTAPI
2347 LPBYTE Unknown0);
2348
2349DWORD
2350NTAPI
2352 DWORD TypeFlag);
2353
2354DWORD
2355NTAPI
2357 LONG lParam,
2358 LPWSTR lpString,
2359 int nSize);
2360
2361SHORT
2362NTAPI
2364 INT VirtKey);
2365
2366BOOL
2367NTAPI
2369 HWND hwnd,
2370 COLORREF *pcrKey,
2371 BYTE *pbAlpha,
2372 DWORD *pdwFlags);
2373
2374DWORD
2375NTAPI
2377 HWND hWnd);
2378
2379BOOL
2382 PMSG pMsg,
2383 HWND hWnd,
2384 UINT MsgFilterMin,
2385 UINT MsgFilterMax);
2386
2387DWORD
2388NTAPI
2390 UINT cbSize,
2391 LPMOUSEMOVEPOINT lppt,
2392 LPMOUSEMOVEPOINT lpptBuf,
2393 int nBufPoints,
2394 DWORD resolution);
2395
2396BOOL
2397NTAPI
2399 HANDLE hObject,
2400 DWORD nIndex,
2401 PVOID pvInformation,
2402 DWORD nLength,
2403 PDWORD nLengthNeeded);
2404
2405HWND
2406NTAPI
2408
2409INT
2410NTAPI
2412 UINT *paFormatPriorityList,
2413 INT cFormats);
2414
2415HWINSTA
2416NTAPI
2418
2419DWORD
2420NTAPI
2422 PRAWINPUT pData,
2423 PUINT pcbSize,
2424 UINT cbSizeHeader);
2425
2426DWORD
2427NTAPI
2429 HRAWINPUT hRawInput,
2430 UINT uiCommand,
2431 LPVOID pData,
2432 PUINT pcbSize,
2433 UINT cbSizeHeader);
2434
2435DWORD
2436NTAPI
2438 HANDLE hDevice,
2439 UINT uiCommand,
2440 LPVOID pData,
2441 PUINT pcbSize);
2442
2443DWORD
2444NTAPI
2446 PRAWINPUTDEVICELIST pRawInputDeviceList,
2447 PUINT puiNumDevices,
2448 UINT cbSize);
2449
2450DWORD
2451NTAPI
2453 PRAWINPUTDEVICE pRawInputDevices,
2454 PUINT puiNumDevices,
2455 UINT cbSize);
2456
2457BOOL
2458NTAPI
2460 HWND hWnd,
2461 LONG idObject,
2462 PSCROLLBARINFO psbi);
2463
2464HDESK
2465NTAPI
2468 HDESK hConsoleDesktop);
2469
2471{
2491 THREADSTATE_PROGMANWINDOW, /* FIXME: Delete this HACK */
2492 THREADSTATE_TASKMANWINDOW, /* FIXME: Delete this HACK */
2493};
2494
2496NTAPI
2498 DWORD Routine);
2499
2500BOOLEAN
2501NTAPI
2503 HWND hwnd,
2504 PTITLEBARINFO pti);
2505
2506BOOL
2507NTAPI
2509 HWND hWnd,
2510 LPRECT lpRect,
2511 BOOL fErase);
2512
2513INT
2514NTAPI
2516 HWND hWnd,
2517 HRGN hRgn,
2518 BOOL bErase);
2519
2520HDC
2521NTAPI
2523 HWND hWnd);
2524
2525BOOL
2526NTAPI
2528 HWND hWnd,
2529 WINDOWPLACEMENT *lpwndpl);
2530
2531PCLS
2532NTAPI
2535 PUNICODE_STRING ClassName);
2536
2537DWORD
2538NTAPI
2540 DWORD dwUnknown1,
2541 DWORD dwUnknown2,
2542 DWORD dwUnknown3);
2543
2544BOOL
2545NTAPI
2547 HWND hWndClient,
2548 HWND hWndServer);
2549
2551NTAPI
2553 DWORD dwWinVersion,
2554 HANDLE hPowerRequestEvent,
2555 HANDLE hMediaRequestEvent);
2556
2558NTAPI
2563 HINSTANCE hmodUser);
2564
2565DWORD
2566NTAPI
2568 DWORD Unknown0,
2569 DWORD Unknown1,
2570 DWORD Unknown2,
2576 DWORD Unknown8,
2579 DWORD Unknown11);
2580
2581INT
2582NTAPI
2584 HWND hWnd,
2585 LPWSTR lpString,
2586 INT nMaxCount);
2587
2588BOOL
2589NTAPI
2591 HWND hWnd,
2592 CONST RECT *lpRect,
2593 BOOL bErase);
2594
2595BOOL
2596NTAPI
2598 HWND hWnd,
2599 HRGN hRgn,
2600 BOOL bErase);
2601
2602BOOL
2603NTAPI
2605 UINT format);
2606
2607BOOL
2608NTAPI
2610 HWND hWnd,
2611 UINT_PTR uIDEvent);
2612
2613HKL
2614NTAPI
2616 IN HANDLE hFile,
2617 IN DWORD offTable,
2618 IN PVOID pTables,
2619 IN HKL hOldKL,
2620 IN PUNICODE_STRING puszKLID,
2621 IN DWORD dwNewKL,
2622 IN UINT Flags);
2623
2624BOOL
2625NTAPI
2627 HWINSTA hWindowStation);
2628
2629BOOL
2630NTAPI
2632 HWND hWnd);
2633
2634BOOL
2635NTAPI
2637
2638UINT
2639NTAPI
2641 UINT keyCode,
2642 UINT transType,
2643 DWORD keyboardId,
2644 HKL dwhkl);
2645
2646typedef struct tagDOSENDMESSAGE
2647{
2651}
2653
2654BOOL
2655NTAPI
2657 HWND hWnd,
2658 UINT Msg,
2659 WPARAM wParam,
2660 LPARAM lParam,
2661 ULONG_PTR ResultInfo,
2662 DWORD dwType, /* FNID_XX types */
2663 BOOL Ansi);
2664
2665DWORD
2666NTAPI
2668 HWND hWnd,
2669 UINT cmd, /* Wine SW_ commands */
2670 BOOL Hide);
2671
2672DWORD
2673NTAPI
2675
2676DWORD
2677NTAPI
2679 DWORD Unknown0,
2680 DWORD Unknown1);
2681
2682DWORD
2683NTAPI
2685 DWORD Unknown0,
2686 DWORD Unknown1);
2687
2688BOOL
2689NTAPI
2691 HWND hWnd,
2692 int X,
2693 int Y,
2694 int nWidth,
2695 int nHeight,
2696 BOOL bRepaint
2697);
2698
2699DWORD
2700NTAPI
2701NtUserNotifyIMEStatus(HWND hwnd, BOOL fOpen, DWORD dwConversion);
2702
2703BOOL
2704NTAPI
2706 HANDLE NewProcessId,
2707 HANDLE ParentThreadId,
2708 ULONG dwUnknown,
2709 ULONG CreateFlags);
2710
2711VOID
2712NTAPI
2714 DWORD Event,
2715 HWND hWnd,
2716 LONG idObject,
2717 LONG idChild);
2718
2719BOOL
2720NTAPI
2722 HWND hWnd,
2723 DWORD Unknown1);
2724
2725HDESK
2726NTAPI
2729 DWORD dwFlags,
2730 ACCESS_MASK dwDesiredAccess);
2731
2732HDESK
2733NTAPI
2735 DWORD dwFlags,
2736 BOOL fInherit,
2737 ACCESS_MASK dwDesiredAccess);
2738
2739HWINSTA
2740NTAPI
2743 ACCESS_MASK dwDesiredAccess);
2744
2745BOOL
2746NTAPI
2748 HDC hDC);
2749
2750DWORD
2751NTAPI
2753 HWND hWnd,
2754 HDC hDC,
2755 ULONG left, // x,
2756 ULONG right, // width, // Scale the edge thickness, offset?
2757 ULONG top, // y,
2758 BOOL bActive); // DWORD Flags); DC_ACTIVE or WS_ACTIVECAPTION, by checking WNDS_ACTIVEFRAME and foreground.
2759
2760BOOL
2763 PMSG pMsg,
2764 HWND hWnd,
2765 UINT MsgFilterMin,
2766 UINT MsgFilterMax,
2767 UINT RemoveMsg);
2768
2769BOOL
2770NTAPI
2772 HWND hWnd,
2773 UINT Msg,
2774 WPARAM wParam,
2775 LPARAM lParam);
2776
2777BOOL
2778NTAPI
2780 DWORD idThread,
2781 UINT Msg,
2782 WPARAM wParam,
2783 LPARAM lParam);
2784
2785BOOL
2786NTAPI
2788 HWND hwnd,
2789 HDC hdcBlt,
2790 UINT nFlags);
2791
2793NTAPI
2796 OUT PUSERCONNECT pUserConnect,
2797 IN ULONG Size); /* sizeof(USERCONNECT) */
2798
2800NTAPI
2802 IN HANDLE ThreadHandle,
2804 OUT PVOID ThreadInformation,
2806
2808NTAPI
2810 HIMC hIMC,
2811 DWORD dwType);
2812
2813DWORD
2814NTAPI
2816 DWORD Unknown0);
2817
2818DWORD
2819NTAPI
2821 DWORD Unknown0,
2822 DWORD Unknown1,
2823 DWORD Unknown2,
2825 DWORD Unknown4);
2826
2827#define QUERY_WINDOW_UNIQUE_PROCESS_ID 0x00
2828#define QUERY_WINDOW_UNIQUE_THREAD_ID 0x01
2829#define QUERY_WINDOW_ACTIVE 0x02
2830#define QUERY_WINDOW_FOCUS 0x03
2831#define QUERY_WINDOW_ISHUNG 0x04
2832#define QUERY_WINDOW_REAL_ID 0x05
2833#define QUERY_WINDOW_FOREGROUND 0x06
2834#define QUERY_WINDOW_DEFAULT_IME 0x07
2835#define QUERY_WINDOW_DEFAULT_ICONTEXT 0x08
2836#define QUERY_WINDOW_ACTIVE_IME 0x09
2837
2839NTAPI
2841 HWND hWnd,
2842 DWORD Index);
2843
2844BOOL
2845NTAPI
2847 LPMSG lpMsg,
2848 HWND hWnd,
2849 UINT wMsgFilterMin,
2850 UINT wMsgFilterMax,
2851 UINT wRemoveMsg,
2852 BOOL bGMSG);
2853
2854HWND
2855NTAPI
2857 HWND Parent,
2858 LONG x,
2859 LONG y);
2860
2861BOOL
2862NTAPI
2864 DWORD dwWakeMask,
2865 UINT uTimeout);
2866
2867BOOL
2868NTAPI
2870 HWND hWnd,
2871 CONST RECT *lprcUpdate,
2872 HRGN hrgnUpdate,
2873 UINT flags);
2874
2876NTAPI
2878 WNDCLASSEXW* lpwcx,
2879 PUNICODE_STRING pustrClassName,
2880 PUNICODE_STRING pustrCVersion,
2881 PCLSMENUNAME pClassMenuName,
2882 DWORD fnID,
2883 DWORD Flags,
2884 LPDWORD pWow);
2885
2886BOOL
2887NTAPI
2889 IN PCRAWINPUTDEVICE pRawInputDevices,
2890 IN UINT uiNumDevices,
2891 IN UINT cbSize);
2892
2893BOOL
2894NTAPI
2896 PUNICODE_STRING m_dllname1,
2897 PUNICODE_STRING m_funname1,
2898 DWORD dwUnknown3,
2899 DWORD dwUnknown4);
2900
2901BOOL
2902NTAPI
2904 HWND hWnd,
2905 int id,
2906 UINT fsModifiers,
2907 UINT vk);
2908
2909DWORD
2910NTAPI
2912 DWORD Unknown0);
2913
2914UINT
2915NTAPI
2917 PUNICODE_STRING MessageName);
2918
2919DWORD
2920NTAPI
2922 DWORD dwUnknown1,
2923 DWORD dwUnknown2,
2924 DWORD dwUnknown3);
2925
2926DWORD
2927NTAPI
2929 DWORD dwUnknown1,
2930 DWORD dwUnknown2,
2931 DWORD dwUnknown3,
2932 DWORD dwUnknown4);
2933
2934DWORD
2935NTAPI
2937
2938DWORD
2939NTAPI
2941
2942HANDLE
2943NTAPI
2945 HWND hWnd,
2946 ATOM Atom);
2947
2948HDESK
2949NTAPI
2952 IN PUNICODE_STRING DesktopPath,
2953 IN BOOL bInherit,
2954 OUT HWINSTA* phWinSta);
2955
2956DWORD
2957NTAPI
2959 DWORD Unknown0);
2960
2961BOOL
2962NTAPI
2964 HWND hwnd,
2965 int fnBar,
2966 PSBDATA pSBData,
2967 LPSCROLLINFO lpsi);
2968
2969BOOL
2970NTAPI
2972 HDC hDC,
2973 int dx,
2974 int dy,
2975 CONST RECT *lprcScroll,
2976 CONST RECT *lprcClip ,
2977 HRGN hrgnUpdate,
2978 LPRECT lprcUpdate);
2979
2980DWORD
2981NTAPI
2983 HWND hWnd,
2984 INT dx,
2985 INT dy,
2986 const RECT *rect,
2987 const RECT *clipRect,
2988 HRGN hrgnUpdate,
2989 LPRECT rcUpdate,
2990 UINT flags);
2991
2992UINT
2993NTAPI
2995 UINT nInputs,
2996 LPINPUT pInput,
2997 INT cbSize);
2998
2999HWND
3000NTAPI
3002 HWND Wnd);
3003
3004BOOL
3005NTAPI
3007 HWND hWnd,
3008 DWORD dwLevel);
3009
3010HWND
3011NTAPI
3013 HWND Wnd);
3014
3016NTAPI
3018 _In_ HWND hWnd,
3019 _In_ INT Offset,
3020 _In_ ULONG dwNewLong,
3021 _In_ BOOL Ansi);
3022
3023#ifdef _WIN64
3024
3027NtUserSetClassLongPtr(
3028 _In_ HWND hWnd,
3029 _In_ INT Offset,
3030 _In_ ULONG_PTR dwNewLong,
3031 _In_ BOOL Ansi);
3032
3033#endif // _WIN64
3034WORD
3035NTAPI
3037 HWND hWnd,
3038 INT nIndex,
3039 WORD wNewWord);
3040
3041HANDLE
3042NTAPI
3044 UINT fmt,
3045 HANDLE hMem,
3046 PSETCLIPBDATA scd);
3047
3048HWND
3049NTAPI
3051 HWND hWndNewViewer);
3052
3053HPALETTE
3054NTAPI
3056 HDC hDC,
3057 HPALETTE hpal,
3058 BOOL ForceBackground);
3059
3060DWORD
3061NTAPI
3063 DWORD Unknown0,
3064 DWORD Unknown1);
3065
3066HCURSOR
3067NTAPI
3069 HCURSOR hCursor);
3070
3071BOOL
3072NTAPI
3074 HANDLE Handle,
3076
3077BOOL
3078NTAPI
3080 _In_ HCURSOR hCursor,
3081 _In_opt_ PUNICODE_STRING pustrModule,
3082 _In_opt_ PUNICODE_STRING puSrcName,
3083 _In_ const CURSORDATA *pCursorData);
3084
3086{
3091
3092HICON
3093NTAPI
3095 _In_ PUNICODE_STRING pustrModule,
3096 _In_ PUNICODE_STRING pustrRsrc,
3098
3099DWORD
3100NTAPI
3102 DWORD Unknown0,
3103 DWORD Unknown1);
3104
3105DWORD
3108 DWORD Unknown0);
3109
3110HWND
3111NTAPI
3113 HWND hWnd);
3114
3115BOOL
3116NTAPI
3118 DWORD dwHotKeyId,
3119 UINT uModifiers,
3120 UINT uVirtualKey,
3121 HKL hKL,
3122 DWORD dwAction);
3123
3124BOOL
3125NTAPI
3127 PIMEINFOEX pImeInfoEx);
3128
3129BOOL
3130NTAPI
3131NtUserSetImeOwnerWindow(HWND hImeWnd, HWND hwndFocus);
3132
3133DWORD
3134NTAPI
3136 DWORD dwUnknown1,
3137 DWORD dwUnknown2,
3138 DWORD dwUnknown3,
3139 DWORD dwUnknown4);
3140
3142NTAPI
3144 IN HANDLE ThreadHandle,
3146 IN PVOID ThreadInformation,
3148
3149DWORD
3150NTAPI
3152 HWND hwnd,
3153 UINT showCmd,
3154 LPRECT rect,
3155 LPPOINT pt);
3156
3157BOOL
3158NTAPI
3160 LPBYTE lpKeyState);
3161
3162BOOL
3163NTAPI
3165 HWND hwnd,
3166 COLORREF crKey,
3167 BYTE bAlpha,
3168 DWORD dwFlags);
3169
3170BOOL
3171NTAPI
3173 HWND hWnd);
3174
3175BOOL
3176NTAPI
3178 HANDLE hObject,
3179 DWORD nIndex,
3180 PVOID pvInformation,
3181 DWORD nLength);
3182
3183HWND
3184NTAPI
3187 HWND hWndNewParent);
3188
3189BOOL
3190NTAPI
3192 HWINSTA hWindowStation);
3193
3194BOOL
3195NTAPI
3197 HWND hWnd,
3198 ATOM Atom,
3199 HANDLE Data);
3200
3201DWORD
3202NTAPI
3204 DWORD Unknown0);
3205
3206DWORD
3207NTAPI
3209 HWND hwnd,
3210 int fnBar,
3211 LPCSCROLLINFO lpsi,
3212 BOOL bRedraw);
3213
3214BOOL
3215NTAPI
3217 HWND hwndShell,
3218 HWND hwndShellListView);
3219
3220BOOL
3221NTAPI
3223 int cElements,
3224 IN CONST INT *lpaElements,
3225 IN CONST COLORREF *lpaRgbValues,
3226 FLONG Flags);
3227
3228BOOL
3229NTAPI
3231 HCURSOR hcur,
3232 DWORD id);
3233
3234BOOL
3235NTAPI
3237 HDESK hDesktop);
3238
3239DWORD
3240NTAPI
3242 DWORD Unknown0,
3243 DWORD Unknown1);
3244
3246NTAPI
3248 HWND hWnd,
3249 UINT_PTR nIDEvent,
3250 UINT uElapse,
3251 TIMERPROC lpTimerFunc);
3252
3253DWORD
3254NTAPI
3255NtUserSetThreadLayoutHandles(HKL hNewKL, HKL hOldKL);
3256
3258NTAPI
3260 HWND hWnd,
3261 UINT_PTR nIDEvent,
3262 UINT uElapse,
3263 TIMERPROC lpTimerFunc);
3264
3265BOOL
3266NTAPI
3268 HWND hWnd,
3269 WORD fnID);
3270
3271LONG
3272NTAPI
3274 HWND hWnd,
3275 DWORD Index,
3276 LONG NewValue,
3277 BOOL Ansi);
3278
3279#ifdef _WIN64
3281NTAPI
3283 HWND hWnd,
3284 DWORD Index,
3285 LONG_PTR NewValue,
3286 BOOL Ansi);
3287#else
3288#define NtUserSetWindowLongPtr NtUserSetWindowLong
3289#endif // _WIN64
3290
3291BOOL
3292NTAPI
3294 HWND hWnd,
3295 WINDOWPLACEMENT *lpwndpl);
3296
3297BOOL
3298NTAPI
3300 HWND hWnd,
3301 HWND hWndInsertAfter,
3302 int X,
3303 int Y,
3304 int cx,
3305 int cy,
3306 UINT uFlags);
3307
3308INT
3309NTAPI
3311 HWND hWnd,
3312 HRGN hRgn,
3313 BOOL bRedraw);
3314
3315HHOOK
3316NTAPI
3318 int idHook,
3319 HOOKPROC lpfn,
3320 BOOL Ansi);
3321
3322HHOOK
3323NTAPI
3325 HINSTANCE Mod,
3327 DWORD ThreadId,
3328 int HookId,
3329 HOOKPROC HookProc,
3330 BOOL Ansi);
3331
3332BOOL
3333NTAPI
3335 IN HWINSTA hWindowStation,
3336 IN PLUID pluid,
3337 IN PSID psid OPTIONAL,
3338 IN DWORD size);
3339
3340WORD
3341NTAPI
3343 HWND hWnd,
3344 INT Index,
3345 WORD NewVal);
3346
3348NTAPI
3350 UINT eventMin,
3351 UINT eventMax,
3352 HMODULE hmodWinEventProc,
3353 PUNICODE_STRING puString,
3354 WINEVENTPROC lpfnWinEventProc,
3355 DWORD idProcess,
3356 DWORD idThread,
3357 UINT dwflags);
3358
3359BOOL
3360NTAPI
3362 HWND hWnd);
3363
3364BOOL
3365NTAPI
3367 HWND hWnd);
3368
3369DWORD
3370NTAPI
3372 HWND hWnd,
3373 int wBar,
3374 DWORD bShow);
3375
3376BOOL
3377NTAPI
3379 HWND hWnd,
3380 LONG nCmdShow);
3381
3382BOOL
3383NTAPI
3385 HWND hWnd,
3386 LONG nCmdShow);
3387
3388BOOL
3389NTAPI
3391
3392BOOL
3393NTAPI
3395 HDESK hDesktop);
3396
3397BOOL
3398NTAPI
3400 UINT uiAction,
3401 UINT uiParam,
3402 PVOID pvParam,
3403 UINT fWinIni);
3404
3405DWORD
3406NTAPI
3408 DWORD dwUnknown1);
3409
3410INT
3411NTAPI
3413 UINT wVirtKey,
3414 UINT wScanCode,
3415 PBYTE lpKeyState,
3416 LPWSTR pwszBuff,
3417 int cchBuff,
3418 UINT wFlags,
3419 HKL dwhkl);
3420
3421BOOL
3422NTAPI
3424 LPTRACKMOUSEEVENT lpEventTrack);
3425
3426int
3427NTAPI
3429 HWND Window,
3430 HACCEL Table,
3431 LPMSG Message);
3432
3433BOOL
3434NTAPI
3436 LPMSG lpMsg,
3437 UINT flags );
3438
3439BOOL
3440NTAPI
3442 HHOOK Hook);
3443
3444BOOL
3445NTAPI
3447 HWINEVENTHOOK hWinEventHook);
3448
3449BOOL
3450NTAPI
3452 HKL hKl);
3453
3454BOOL
3455NTAPI
3457 HWINSTA hWindowStation);
3458
3459BOOL
3460NTAPI
3462 PUNICODE_STRING ClassNameOrAtom,
3464 PCLSMENUNAME pClassMenuName);
3465
3466BOOL
3467NTAPI
3469 HWND hWnd,
3470 int id);
3471
3472BOOL
3473NTAPI
3475
3476BOOL
3477NTAPI
3479 HIMC hIMC,
3480 DWORD dwType,
3481 DWORD_PTR dwValue);
3482
3483DWORD
3484NTAPI
3486 DWORD Unknown0,
3487 DWORD Unknown1,
3488 DWORD Unknown2);
3489
3490BOOL
3491NTAPI
3493 HWND hwnd,
3494 HDC hdcDst,
3495 POINT *pptDst,
3496 SIZE *psize,
3497 HDC hdcSrc,
3498 POINT *pptSrc,
3499 COLORREF crKey,
3500 BLENDFUNCTION *pblend,
3501 DWORD dwFlags,
3502 RECT *prcDirty);
3503
3504BOOL
3505NTAPI
3508 BOOL bEnable);
3509
3510BOOL
3511NTAPI
3513 IN HANDLE hUserHandle,
3514 IN HANDLE hJob,
3515 IN BOOL bGrant);
3516
3517BOOL
3518NTAPI
3520 HANDLE hHdl);
3521
3522BOOL
3523NTAPI
3525 HWND hWnd,
3526 CONST RECT *lpRect);
3527
3528BOOL
3531 LPARAM lParam);
3532
3533DWORD
3534NTAPI
3536 WCHAR wChar,
3537 HKL KeyboardLayout,
3538 BOOL bUsehHK);
3539
3540DWORD
3541NTAPI
3544 IN DWORD dwMilliseconds,
3545 IN BOOL bSharedWow); /* Always FALSE */
3546
3547DWORD
3548NTAPI
3550 DWORD Unknown0);
3551
3552BOOL
3553NTAPI
3555
3556DWORD
3557NTAPI
3559 DWORD Unknown0,
3560 DWORD Unknown1,
3561 DWORD Unknown2,
3564 DWORD Unknown5);
3565
3566HWND
3567NTAPI
3569 LONG X,
3570 LONG Y);
3571
3572DWORD
3573NTAPI
3575
3576/* NtUserBad
3577 * ReactOS-specific NtUser calls and their related structures, both which shouldn't exist.
3578 */
3579
3580#define NOPARAM_ROUTINE_ISCONSOLEMODE 0xffff0001
3581#define ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING 0xfffe000d
3582#define ONEPARAM_ROUTINE_GETDESKTOPMAPPING 0xfffe000e
3583#define TWOPARAM_ROUTINE_SETMENUBARHEIGHT 0xfffd0050
3584#define TWOPARAM_ROUTINE_SETGUITHRDHANDLE 0xfffd0051
3585#define HWNDLOCK_ROUTINE_SETFOREGROUNDWINDOWMOUSE 0xfffd0052
3586
3587#define MSQ_STATE_CAPTURE 0x1
3588#define MSQ_STATE_ACTIVE 0x2
3589#define MSQ_STATE_FOCUS 0x3
3590#define MSQ_STATE_MENUOWNER 0x4
3591#define MSQ_STATE_MOVESIZE 0x5
3592#define MSQ_STATE_CARET 0x6
3593
3594#define TWOPARAM_ROUTINE_ROS_UPDATEUISTATE 0x1004
3595#define HWNDPARAM_ROUTINE_ROS_NOTIFYWINEVENT 0x1005
3596
3597BOOL
3598NTAPI
3600 IN HMONITOR hMonitor,
3601 OUT LPMONITORINFO pMonitorInfo);
3602
3603/* Should be done in usermode */
3604
3606NTAPI
3608 IN POINT point,
3609 IN DWORD dwFlags);
3610
3612NTAPI
3614 IN LPCRECT pRect,
3615 IN DWORD dwFlags);
3616
3618NTAPI
3620 IN HWND hWnd,
3621 IN DWORD dwFlags);
3622
3623typedef struct _SETSCROLLBARINFO
3624{
3629
3630BOOL
3631NTAPI
3633 HWND hwnd,
3634 LONG idObject,
3636
3637ULONG
3639
3640#endif /* __WIN32K_NTUSER_H */
3641
3642/* EOF */
static HDC hDC
Definition: 3dtext.c:33
unsigned char BOOLEAN
PRTL_UNICODE_STRING_BUFFER PULONG PULONG Unknown4
UINT VirtKey
Definition: VirtualKey.c:22
UINT32 void void ** ReturnValue
Definition: acevents.h:216
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char ACPI_WALK_RESOURCE_CALLBACK void *Context ACPI_BUFFER *RetBuffer UINT16 ACPI_RESOURCE **ResourcePtr ACPI_GENERIC_ADDRESS *Reg UINT32 *ReturnValue UINT8 UINT8 *Slp_TypB ACPI_PHYSICAL_ADDRESS PhysicalAddress64 UINT32 UINT32 *TimeElapsed UINT32 ACPI_STATUS const char UINT32 ACPI_STATUS const char UINT32 const char const char * ModuleName
Definition: acpixf.h:1280
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn UINT32 *TableIdx UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER void *Data ACPI_OBJECT_HANDLER void **Data ACPI_STRING ACPI_OBJECT_LIST ACPI_BUFFER *ReturnObjectBuffer ACPI_DEVICE_INFO **ReturnBuffer ACPI_HANDLE Parent
Definition: acpixf.h:732
struct outqueuenode * head
Definition: adnsresfilter.c:66
int nItems
Definition: appswitch.c:56
#define msg(x)
Definition: auth_time.c:54
HWND hWnd
Definition: settings.c:17
LONG NTSTATUS
Definition: precomp.h:26
HFONT hFont
Definition: main.c:53
return
Definition: dirsup.c:529
HINSTANCE hInstance
Definition: charmap.c:19
Definition: bufpool.h:45
_Out_ RTL_ATOM * Atom
Definition: class.h:54
static BOOL bInsert
Definition: cmdinput.c:121
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
struct @1645 Msg[]
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES IN DWORD IN DWORD IN DWORD IN DWORD Unknown6
Definition: conport.c:40
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES IN DWORD IN DWORD IN DWORD Unknown5
Definition: conport.c:39
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES IN DWORD Unknown3
Definition: conport.c:37
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:36
static HWND hwndParent
Definition: cryptui.c:300
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
Definition: db.cpp:175
float Real
Definition: definitions.h:36
WORD ATOM
Definition: dimm.idl:113
DWORD HIMC
Definition: dimm.idl:75
#define FALSE
Definition: types.h:117
static HBITMAP hBitmap
Definition: timezone.c:26
#define APIENTRY
Definition: api.h:79
#define Y(I)
UINT uFlags
Definition: api.c:59
HANDLE HWND
Definition: compat.h:19
#define CALLBACK
Definition: compat.h:35
static const WCHAR Message[]
Definition: register.c:74
#define pt(x, y)
Definition: drawing.c:79
#define ULONG_PTR
Definition: config.h:101
HWND hWndChild[NUM_TABS]
Definition: main.h:74
POINTL point
Definition: edittest.c:50
#define PAGE_SIZE
Definition: env_spec_w32.h:49
DWORD dwThreadId
Definition: fdebug.c:31
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
ULONG Handle
Definition: gdb_input.c:15
ASMGENDATA Table[]
Definition: genincdata.c:61
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLint GLint GLsizei width
Definition: gl.h:1546
GLsizeiptr size
Definition: glext.h:5919
GLdouble GLdouble GLdouble GLdouble top
Definition: glext.h:10859
GLdouble GLdouble right
Definition: glext.h:10859
GLint left
Definition: glext.h:7726
GLbitfield flags
Definition: glext.h:7161
GLfloat param
Definition: glext.h:5796
GLdouble u1
Definition: glext.h:8308
IMEINFOEXCLASS
Definition: imm32_undoc.h:51
HKL FAR * LPHKL
Definition: imm.h:24
BOOL NTAPI NtUserGetClassInfo(HINSTANCE hInstance, PUNICODE_STRING ClassName, LPWNDCLASSEXW wcex, LPWSTR *ppszMenuName, BOOL Ansi)
Definition: class.c:2779
struct tagCLIPBOARDDATA CLIPBOARDDATA
struct _MDIWND MDIWND
DWORD NTAPI NtUserGetKeyboardState(LPBYTE Unknown0)
Definition: msgqueue.c:2578
DWORD NTAPI NtUserCalcMenuBar(HWND hwnd, DWORD x, DWORD width, DWORD y, LPRECT prc)
Definition: menu.c:5554
BOOL NTAPI NtUserUpdateLayeredWindow(HWND hwnd, HDC hdcDst, POINT *pptDst, SIZE *psize, HDC hdcSrc, POINT *pptSrc, COLORREF crKey, BLENDFUNCTION *pblend, DWORD dwFlags, RECT *prcDirty)
Definition: layered.c:341
PCLS NTAPI NtUserGetWOWClass(HINSTANCE hInstance, PUNICODE_STRING ClassName)
Definition: class.c:2941
BOOL NTAPI NtUserBitBltSysBmp(HDC hdc, INT nXDest, INT nYDest, INT nWidth, INT nHeight, INT nXSrc, INT nYSrc, DWORD dwRop)
Definition: ntstubs.c:17
BOOL NTAPI NtUserRegisterUserApiHook(PUNICODE_STRING m_dllname1, PUNICODE_STRING m_funname1, DWORD dwUnknown3, DWORD dwUnknown4)
Definition: hook.c:1722
BOOL NTAPI NtUserSetObjectInformation(HANDLE hObject, DWORD nIndex, PVOID pvInformation, DWORD nLength)
Definition: winsta.c:1339
VOID NTAPI NtUserNotifyWinEvent(DWORD Event, HWND hWnd, LONG idObject, LONG idChild)
Definition: event.c:254
BOOL NTAPI NtUserSetMenu(HWND hWnd, HMENU hMenu, BOOL bRepaint)
Definition: menu.c:6417
VOID NTAPI RtlInitLargeAnsiString(IN OUT PLARGE_ANSI_STRING, IN PCSZ, IN INT)
Definition: rtlstr.c:17
BOOL NTAPI NtUserDrawIconEx(HDC hdc, int xLeft, int yTop, HICON hIcon, int cxWidth, int cyWidth, UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw, UINT diFlags, BOOL bMetaHDC, PVOID pDIXData)
Definition: cursoricon.c:2084
struct _MENUWND * PMENUWND
struct _PFNCLIENT PFNCLIENT
BOOL NTAPI NtUserDestroyCursor(_In_ HANDLE Handle, _In_ BOOL bForce)
Definition: cursoricon.c:793
HMONITOR NTAPI NtUserMonitorFromPoint(IN POINT point, IN DWORD dwFlags)
Definition: monitor.c:827
BOOL NTAPI NtUserHideCaret(HWND hWnd)
Definition: caret.c:452
enum _USERTHREADINFOCLASS USERTHREADINFOCLASS
BOOL NTAPI NtUserSetProp(HWND hWnd, ATOM Atom, HANDLE Data)
struct tagMBSTRING * PMBSTRING
struct tagDDEPACK DDEPACK
BOOL NTAPI NtUserGetMenuBarInfo(HWND hwnd, LONG idObject, LONG idItem, PMENUBARINFO pmbi)
Definition: menu.c:5920
BOOL NTAPI NtUserSetWindowPos(HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags)
Definition: winpos.c:3523
DWORD NTAPI NtUserScrollWindowEx(HWND hWnd, INT dx, INT dy, const RECT *rect, const RECT *clipRect, HRGN hrgnUpdate, LPRECT rcUpdate, UINT flags)
Definition: scrollex.c:571
struct _CLIENTTHREADINFO * PCLIENTTHREADINFO
DWORD NTAPI NtUserMNDragOver(DWORD Unknown0, DWORD Unknown1)
Definition: ntstubs.c:178
DWORD_PTR NTAPI NtUserCallOneParam(DWORD_PTR Param, DWORD Routine)
Definition: simplecall.c:153
BOOL NTAPI NtUserGetMonitorInfo(IN HMONITOR hMonitor, OUT LPMONITORINFO pMonitorInfo)
Definition: monitor.c:728
struct _DRAWICONEXDATA * PDRAWICONEXDATA
#define NUM_SYSCOLORS
Definition: ntuser.h:954
struct tagPOPUPMENU * PPOPUPMENU
BOOL NTAPI NtUserMessageCall(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, ULONG_PTR ResultInfo, DWORD dwType, BOOL Ansi)
Definition: message.c:2540
NTSTATUS NTAPI NtUserInitializeClientPfnArrays(PPFNCLIENT pfnClientA, PPFNCLIENT pfnClientW, PPFNCLIENTWORKER pfnClientWorker, HINSTANCE hmodUser)
Definition: ntstubs.c:101
struct _PROCESSINFO * GetW32ProcessInfo(VOID)
Definition: misc.c:801
HKL NTAPI NtUserActivateKeyboardLayout(HKL hKL, ULONG Flags)
Definition: kbdlayout.c:1226
BOOL NTAPI NtUserDrawCaptionTemp(HWND hWnd, HDC hDC, LPCRECT lpRc, HFONT hFont, HICON hIcon, const PUNICODE_STRING str, UINT uFlags)
Definition: painting.c:2374
HWND NTAPI NtUserGetOpenClipboardWindow(VOID)
Definition: clipboard.c:601
DWORD NTAPI NtUserInitTask(DWORD Unknown0, DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5, DWORD Unknown6, DWORD Unknown7, DWORD Unknown8, DWORD Unknown9, DWORD Unknown10, DWORD Unknown11)
Definition: ntstubs.c:148
DWORD NTAPI NtUserUpdateInstance(DWORD Unknown0, DWORD Unknown1, DWORD Unknown2)
Definition: ntstubs.c:335
BOOL NTAPI NtUserUnregisterClass(PUNICODE_STRING ClassNameOrAtom, HINSTANCE hInstance, PCLSMENUNAME pClassMenuName)
struct _CALLBACKWND CALLBACKWND
BOOL NTAPI NtUserValidateRect(HWND hWnd, CONST RECT *lpRect)
INT NTAPI NtUserGetClassName(HWND hWnd, BOOL Real, PUNICODE_STRING ClassName)
struct tagIMC IMC
UINT NTAPI NtUserRegisterWindowMessage(PUNICODE_STRING MessageName)
Definition: window.c:4299
struct tagSBCALC * PSBCALC
struct _PROPLISTITEM PROPLISTITEM
DWORD NTAPI NtUserCountClipboardFormats(VOID)
Definition: clipboard.c:658
HWND NTAPI NtUserGetClipboardOwner(VOID)
Definition: clipboard.c:777
BOOL NTAPI NtUserNotifyProcessCreate(HANDLE NewProcessId, HANDLE ParentThreadId, ULONG dwUnknown, ULONG CreateFlags)
Definition: ntstubs.c:463
struct _CLSMENUNAME * PCLSMENUNAME
BOOL NTAPI NtUserSoundSentry(VOID)
Definition: ntstubs.c:843
struct _DESKTOPINFO * PDESKTOPINFO
_Out_opt_ PICONINFO _Inout_opt_ PUNICODE_STRING lpInstName
Definition: ntuser.h:2295
BOOL NTAPI NtUserSetWindowPlacement(HWND hWnd, WINDOWPLACEMENT *lpwndpl)
Definition: winpos.c:3717
#define MAX_MB_STRINGS
Definition: ntuser.h:946
HPALETTE NTAPI NtUserSelectPalette(HDC hDC, HPALETTE hpal, BOOL ForceBackground)
Definition: windc.c:1034
struct tagCLIPBOARDDATA * PCLIPBOARDDATA
INT NTAPI NtUserExcludeUpdateRgn(HDC hDC, HWND hWnd)
Definition: painting.c:2519
struct _USER_HANDLE_ENTRY USER_HANDLE_ENTRY
BOOL NTAPI NtUserPaintDesktop(HDC hDC)
Definition: desktop.c:2815
BOOL NTAPI NtUserGetComboBoxInfo(HWND hWnd, PCOMBOBOXINFO pcbi)
Definition: window.c:3471
DWORD APIENTRY NtUserDbgWin32HeapStat(DWORD Unknown0, DWORD Unknown1)
Definition: ntstubs.c:277
BOOL NTAPI NtUserCallMsgFilter(LPMSG msg, INT code)
Definition: message.c:2433
UINT NTAPI NtUserGetCaretBlinkTime(VOID)
Definition: caret.c:381
struct _REGISTER_SYSCLASS * PREGISTER_SYSCLASS
INT NTAPI NtUserInternalGetWindowText(HWND hWnd, LPWSTR lpString, INT nMaxCount)
Definition: window.c:4592
struct tagDPISERVERINFO * PDPISERVERINFO
struct tagSBDATA * PSBDATA
SHORT NTAPI NtUserGetAsyncKeyState(INT Key)
Definition: keyboard.c:634
struct _PROCDESKHEAD PROCDESKHEAD
struct _LARGE_ANSI_STRING * PLARGE_ANSI_STRING
DWORD NTAPI NtUserWin32PoolAllocationStats(DWORD Unknown0, DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)
Definition: ntstubs.c:369
struct _THROBJHEAD THROBJHEAD
NTSTATUS NTAPI NtUserSetInformationThread(IN HANDLE ThreadHandle, IN USERTHREADINFOCLASS ThreadInformationClass, IN PVOID ThreadInformation, IN ULONG ThreadInformationLength)
Definition: ntstubs.c:673
HWND NTAPI NtUserRealChildWindowFromPoint(HWND Parent, LONG x, LONG y)
Definition: winpos.c:3503
BOOL NTAPI NtUserShowWindowAsync(HWND hWnd, LONG nCmdShow)
Definition: winpos.c:3774
struct _PERUSERSERVERINFO * PPERUSERSERVERINFO
struct _CLIENTINFO CLIENTINFO
BOOL NTAPI NtUserTrackPopupMenuEx(HMENU hmenu, UINT fuFlags, int x, int y, HWND hwnd, LPTPMPARAMS lptpm)
Definition: menu.c:6624
enum _CONSOLECONTROL * PCONSOLECONTROL
struct tagIMEUI * PIMEUI
BOOL NTAPI NtUserUnloadKeyboardLayout(HKL hKl)
Definition: kbdlayout.c:1251
BOOL APIENTRY NtUserPeekMessage(PMSG pMsg, HWND hWnd, UINT MsgFilterMin, UINT MsgFilterMax, UINT RemoveMsg)
Definition: message.c:2391
LONG NTAPI NtUserChangeDisplaySettings(PUNICODE_STRING lpszDeviceName, LPDEVMODEW lpDevMode, DWORD dwflags, LPVOID lParam)
Definition: display.c:930
DWORD NTAPI NtUserVkKeyScanEx(WCHAR wChar, HKL KeyboardLayout, BOOL bUsehHK)
Definition: keyboard.c:1709
_CONSOLECONTROL
Definition: ntuser.h:1797
@ ConsoleCtrlDesktopConsoleThread
Definition: ntuser.h:1798
@ ConsoleMakePalettePublic
Definition: ntuser.h:1800
@ GuiConsoleWndClassAtom
Definition: ntuser.h:1799
@ ConsoleAcquireDisplayOwnership
Definition: ntuser.h:1801
BOOL NTAPI NtUserShowCaret(HWND hWnd)
Definition: caret.c:424
DWORD NTAPI NtUserCheckMenuItem(HMENU hmenu, UINT uIDCheckItem, UINT uCheck)
Definition: menu.c:5600
BOOL NTAPI NtUserUnregisterUserApiHook(VOID)
Definition: hook.c:1768
INT NTAPI NtUserGetClipboardFormatName(UINT uFormat, LPWSTR lpszFormatName, INT cchMaxCount)
Definition: clipboard.c:736
DWORD NTAPI NtUserRemoteConnect(DWORD dwUnknown1, DWORD dwUnknown2, DWORD dwUnknown3)
Definition: ntstubs.c:860
HWND NTAPI NtUserCallHwndOpt(HWND hWnd, DWORD Routine)
Definition: simplecall.c:691
struct tagSETCLIPBDATA SETCLIPBDATA
HHOOK NTAPI NtUserSetWindowsHookEx(HINSTANCE Mod, PUNICODE_STRING ModuleName, DWORD ThreadId, int HookId, HOOKPROC HookProc, BOOL Ansi)
Definition: hook.c:1439
BOOL NTAPI NtUserBlockInput(BOOL BlockIt)
Definition: input.c:419
HANDLE NTAPI NtUserRemoveProp(HWND hWnd, ATOM Atom)
UINT NTAPI NtUserGetKeyboardLayoutList(ULONG nItems, HKL *pHklBuff)
Definition: kbdlayout.c:1038
BOOL NTAPI NtUserFlashWindowEx(IN PFLASHWINFO pfwi)
Definition: painting.c:1752
BOOL NTAPI NtUserTranslateMessage(LPMSG lpMsg, UINT flags)
Definition: message.c:2503
BOOL NTAPI NtUserUnhookWindowsHookEx(HHOOK Hook)
Definition: hook.c:1691
BOOL NTAPI NtUserSwitchDesktop(HDESK hDesktop)
Definition: desktop.c:2972
HWND NTAPI NtUserSetFocus(HWND hWnd)
Definition: focus.c:1724
struct _LARGE_UNICODE_STRING * PLARGE_UNICODE_STRING
BOOL NTAPI NtUserSetImeHotKey(DWORD dwHotKeyId, UINT uModifiers, UINT uVirtualKey, HKL hKL, DWORD dwAction)
Definition: ime.c:451
BOOL NTAPI NtUserSetLayeredWindowAttributes(HWND hwnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags)
Definition: layered.c:311
BOOL NTAPI NtUserCheckDesktopByThreadId(DWORD dwThreadId)
struct _WNDMSG * PWNDMSG
BOOL NTAPI NtUserGetScrollBarInfo(HWND hWnd, LONG idObject, PSCROLLBARINFO psbi)
Definition: scrollbar.c:1142
struct tagGETCLIPBDATA GETCLIPBDATA
LRESULT NTAPI NtUserCallNextHookEx(int Code, WPARAM wParam, LPARAM lParam, BOOL Ansi)
Definition: hook.c:1370
UINT_PTR NTAPI NtUserSetSystemTimer(HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc)
Definition: timer.c:685
struct tagSETCLIPBDATA * PSETCLIPBDATA
struct _LARGE_ANSI_STRING LARGE_ANSI_STRING
struct _PROCMARKHEAD * PPROCMARKHEAD
struct _tagFINDEXISTINGCURICONPARAM FINDEXISTINGCURICONPARAM
struct _PROPERTY * PPROPERTY
struct tagSBCALC SBCALC
#define FNID_NUMSERVERPROC
Definition: ntuser.h:895
HICON NTAPI NtUserFindExistingCursorIcon(_In_ PUNICODE_STRING pustrModule, _In_ PUNICODE_STRING pustrRsrc, _In_ FINDEXISTINGCURICONPARAM *param)
Definition: cursoricon.c:861
DWORD NTAPI NtUserRemoteRedrawRectangle(DWORD dwUnknown1, DWORD dwUnknown2, DWORD dwUnknown3, DWORD dwUnknown4)
Definition: ntstubs.c:871
struct tagDDEPACK * PDDEPACK
BOOL NTAPI NtUserThunkedMenuItemInfo(HMENU hMenu, UINT uItem, BOOL fByPosition, BOOL bInsert, LPMENUITEMINFOW lpmii, PUNICODE_STRING lpszCaption)
Definition: menu.c:6560
BOOL NTAPI NtUserCloseWindowStation(HWINSTA hWinSta)
Definition: winsta.c:1019
DWORD NTAPI NtUserGetInternalWindowPos(HWND hwnd, LPRECT rectWnd, LPPOINT ptIcon)
Definition: winpos.c:3333
struct tagMENU MENU
DWORD NTAPI NtUserHardErrorControl(DWORD dwUnknown1, DWORD dwUnknown2, DWORD dwUnknown3)
Definition: ntstubs.c:452
BOOL NTAPI NtUserSetThreadDesktop(HDESK hDesktop)
Definition: desktop.c:3488
BOOL NTAPI RtlLargeStringToUnicodeString(PUNICODE_STRING, PLARGE_STRING)
Definition: rtlstr.c:67
struct tagITEM ITEM
DWORD NTAPI NtUserSetScrollInfo(HWND hwnd, int fnBar, LPCSCROLLINFO lpsi, BOOL bRedraw)
Definition: scrollbar.c:1331
DWORD NTAPI NtUserEvent(DWORD Unknown0)
Definition: ntstubs.c:76
DWORD_PTR NTAPI NtUserCallNoParam(DWORD Routine)
Definition: simplecall.c:59
HWND NTAPI NtUserCreateWindowEx(DWORD dwExStyle, PLARGE_STRING plstrClassName, PLARGE_STRING plstrClsVersion, PLARGE_STRING plstrWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam, DWORD dwFlags, PVOID acbiBuffer)
Definition: window.c:2669
struct _USER_HANDLE_TABLE * PUSER_HANDLE_TABLE
DWORD NTAPI NtUserSetThreadLayoutHandles(HKL hNewKL, HKL hOldKL)
Definition: ime.c:508
BOOL NTAPI NtUserWaitMessage(VOID)
Definition: message.c:2333
BOOL NTAPI NtUserDefSetText(HWND WindowHandle, PLARGE_STRING WindowText)
Definition: window.c:4458
BOOL NTAPI NtUserGetMenuItemRect(HWND hWnd, HMENU hMenu, UINT uItem, LPRECT lprcItem)
struct tagGETCLIPBDATA * PGETCLIPBDATA
HWND NTAPI NtUserSetClipboardViewer(HWND hWndNewViewer)
Definition: clipboard.c:1114
_GETCPD
Definition: ntuser.h:539
@ UserGetCPDWndtoCls
Definition: ntuser.h:545
@ UserGetCPDClass
Definition: ntuser.h:542
@ UserGetCPDU2A
Definition: ntuser.h:541
@ UserGetCPDDialog
Definition: ntuser.h:544
@ UserGetCPDWindow
Definition: ntuser.h:543
@ UserGetCPDA2U
Definition: ntuser.h:540
DWORD NTAPI NtUserNotifyIMEStatus(HWND hwnd, BOOL fOpen, DWORD dwConversion)
Definition: ime.c:803
DWORD NTAPI NtUserSetInternalWindowPos(HWND hwnd, UINT showCmd, LPRECT rect, LPPOINT pt)
Definition: winpos.c:3643
enum _OBI_TYPES OBI_TYPES
HCURSOR NTAPI NtUserSetCursor(HCURSOR hCursor)
Definition: cursoricon.c:1049
DWORD NTAPI NtUserGetAppImeLevel(HWND hWnd)
Definition: ime.c:921
BOOL NTAPI NtUserInvalidateRect(HWND hWnd, CONST RECT *lpRect, BOOL bErase)
Definition: painting.c:2542
struct _SHAREDINFO * PSHAREDINFO
HMENU NTAPI NtUserGetSystemMenu(HWND hWnd, BOOL bRevert)
Definition: menu.c:5676
struct _CALLPROCDATA * PCALLPROCDATA
BOOL NTAPI NtUserAttachThreadInput(IN DWORD idAttach, IN DWORD idAttachTo, IN BOOL fAttach)
Definition: input.c:665
BOOL NTAPI NtUserSystemParametersInfo(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni)
Definition: sysparams.c:2168
struct _THRDESKHEAD THRDESKHEAD
struct _PROCDESKHEAD * PPROCDESKHEAD
BOOL NTAPI NtUserDisableThreadIme(DWORD dwThreadID)
Definition: ime.c:852
struct _PFNCLIENT * PPFNCLIENT
DWORD APIENTRY NtUserSetDbgTagCount(DWORD Unknown0)
Definition: ntstubs.c:246
DWORD NTAPI NtUserCtxDisplayIOCtl(DWORD dwUnknown1, DWORD dwUnknown2, DWORD dwUnknown3)
Definition: ntstubs.c:899
DWORD NTAPI NtUserCallHwndParamLock(HWND hWnd, DWORD_PTR Param, DWORD Routine)
Definition: simplecall.c:895
HANDLE NTAPI NtUserSetClipboardData(UINT fmt, HANDLE hMem, PSETCLIPBDATA scd)
Definition: clipboard.c:1084
struct tagMBSTRING MBSTRING
enum _GETCPD * PGETCPD
ULONG RtlGetExpWinVer(_In_ PVOID BaseAddress)
Definition: image.c:20
HWND NTAPI NtUserGetForegroundWindow(VOID)
Definition: focus.c:1650
BOOLEAN NTAPI NtUserGetTitleBarInfo(HWND hwnd, PTITLEBARINFO pti)
Definition: menu.c:5750
DWORD NTAPI NtUserDrawMenuBarTemp(HWND hWnd, HDC hDC, PRECT hRect, HMENU hMenu, HFONT hFont)
Definition: menu.c:6240
DWORD NTAPI NtUserGetGuiResources(HANDLE hProcess, DWORD uiFlags)
Definition: misc.c:536
struct _LARGE_UNICODE_STRING LARGE_UNICODE_STRING
BOOL NTAPI NtUserSetLogonNotifyWindow(HWND hWnd)
Definition: winsta.c:1953
DWORD NTAPI NtUserYieldTask(VOID)
Definition: ntstubs.c:384
struct tagHOOK * PHOOK
struct _USERCONNECT * PUSERCONNECT
#define NtUserSetWindowLongPtr
Definition: ntuser.h:3288
_Out_opt_ PICONINFO _Inout_opt_ PUNICODE_STRING _Inout_opt_ PUNICODE_STRING _Out_opt_ LPDWORD _In_ BOOL bInternal
Definition: ntuser.h:2298
struct _THREADINFO * GetW32ThreadInfo(VOID)
Definition: misc.c:807
BOOL NTAPI NtUserGetCaretPos(LPPOINT lpPoint)
Definition: caret.c:396
DWORD NTAPI NtUserGetRawInputData(HRAWINPUT hRawInput, UINT uiCommand, LPVOID pData, PUINT pcbSize, UINT cbSizeHeader)
Definition: ntstubs.c:404
_Out_opt_ PICONINFO IconInfo
Definition: ntuser.h:2294
HANDLE NTAPI NtUserConvertMemHandle(PVOID pData, DWORD cbData)
Definition: clipboard.c:1187
struct _DESKTOPINFO DESKTOPINFO
BOOL NTAPI NtUserRegisterRawInputDevices(IN PCRAWINPUTDEVICE pRawInputDevices, IN UINT uiNumDevices, IN UINT cbSize)
Definition: ntstubs.c:640
struct _WND * PWND
DWORD NTAPI NtUserGetRawInputBuffer(PRAWINPUT pData, PUINT pcbSize, UINT cbSizeHeader)
Definition: ntstubs.c:393
_OBI_TYPES
Definition: ntuser.h:965
@ OBI_UPARROWI
Definition: ntuser.h:968
@ OBI_UPARROW
Definition: ntuser.h:967
@ OBI_DNARROW
Definition: ntuser.h:969
@ OBI_CTYPES
Definition: ntuser.h:972
@ OBI_CLOSE
Definition: ntuser.h:966
@ OBI_DNARROWI
Definition: ntuser.h:970
@ OBI_MNARROW
Definition: ntuser.h:971
struct _CLS * PCLS
struct tagIMEUI IMEUI
DWORD NTAPI NtUserCheckImeHotKey(UINT uVirtualKey, LPARAM lParam)
Definition: ime.c:467
NTSTATUS NTAPI NtUserEnumDisplaySettings(PUNICODE_STRING lpszDeviceName, DWORD iModeNum, LPDEVMODEW lpDevMode, DWORD dwFlags)
DWORD_PTR NTAPI NtUserCallTwoParam(DWORD_PTR Param1, DWORD_PTR Param2, DWORD Routine)
Definition: simplecall.c:434
struct _DESKTOP_CONSOLE_THREAD * PDESKTOP_CONSOLE_THREAD
HDWP NTAPI NtUserDeferWindowPos(HDWP WinPosInfo, HWND Wnd, HWND WndInsertAfter, int x, int y, int cx, int cy, UINT Flags)
Definition: winpos.c:3279
struct _SETSCROLLBARINFO * PSETSCROLLBARINFO
BOOL NTAPI NtUserGetUpdateRect(HWND hWnd, LPRECT lpRect, BOOL fErase)
Definition: painting.c:1962
BOOL NTAPI NtUserSetCursorIconData(_In_ HCURSOR hCursor, _In_opt_ PUNICODE_STRING pustrModule, _In_opt_ PUNICODE_STRING puSrcName, _In_ const CURSORDATA *pCursorData)
Definition: cursoricon.c:1510
DWORD NTAPI NtUserSetConsoleReserveKeys(DWORD Unknown0, DWORD Unknown1)
Definition: ntstubs.c:224
struct _CLIENTTHREADINFO CLIENTTHREADINFO
BOOL NTAPI NtUserSetProcessWindowStation(HWINSTA hWindowStation)
Definition: winsta.c:1518
BOOL NTAPI NtUserCloseClipboard(VOID)
Definition: clipboard.c:589
struct tagPOPUPMENU POPUPMENU
struct _PFNCLIENTWORKER * PPFNCLIENTWORKER
BOOL NTAPI NtUserLockWorkStation(VOID)
Definition: winsta.c:1972
BOOL NTAPI NtUserSetAppImeLevel(HWND hWnd, DWORD dwLevel)
Definition: ime.c:1060
BOOL NTAPI NtUserDrawCaption(HWND hWnd, HDC hDc, LPCRECT lpRc, UINT uFlags)
Definition: painting.c:2457
HDESK NTAPI NtUserCreateDesktop(POBJECT_ATTRIBUTES poa, PUNICODE_STRING lpszDesktopDevice, LPDEVMODEW lpdmw, DWORD dwFlags, ACCESS_MASK dwDesiredAccess)
Definition: desktop.c:2565
BOOL NTAPI NtUserInvalidateRgn(HWND hWnd, HRGN hRgn, BOOL bErase)
Definition: painting.c:2558
BOOL NTAPI NtUserUnlockWindowStation(HWINSTA hWindowStation)
Definition: winsta.c:1585
DWORD NTAPI NtUserGetClipboardSequenceNumber(VOID)
Definition: clipboard.c:1164
BOOL NTAPI NtUserSetImeOwnerWindow(HWND hImeWnd, HWND hwndFocus)
Definition: ime.c:1362
BOOL NTAPI NtUserPrintWindow(HWND hwnd, HDC hdcBlt, UINT nFlags)
Definition: painting.c:2573
BOOL NTAPI NtUserMoveWindow(HWND hWnd, int X, int Y, int nWidth, int nHeight, BOOL bRepaint)
Definition: winpos.c:3486
BOOL NTAPI NtUserOpenClipboard(HWND hWnd, DWORD Unknown1)
Definition: clipboard.c:533