ReactOS  0.4.15-dev-1068-g467feb9
ntuser.h
Go to the documentation of this file.
1 #ifndef __WIN32K_NTUSER_H
2 #define __WIN32K_NTUSER_H
3 
4 struct _PROCESSINFO;
5 struct _THREADINFO;
6 struct _DESKTOP;
7 struct _WND;
8 struct tagPOPUPMENU;
9 #ifndef HIMC
10 typedef HANDLE HIMC;
11 #endif
12 
13 #define FIRST_USER_HANDLE 0x0020 /* first possible value for low word of user handle */
14 #define LAST_USER_HANDLE 0xffef /* last possible value for low word of user handle */
15 
16 #define HANDLEENTRY_DESTROY 1
17 #define HANDLEENTRY_INDESTROY 2
18 
19 typedef struct _USER_HANDLE_ENTRY
20 {
21  void *ptr; /* pointer to object */
22  union
23  {
25  struct _THREADINFO *pti; /* pointer to Win32ThreadInfo */
26  struct _PROCESSINFO *ppi; /* pointer to W32ProcessInfo */
27  };
28  unsigned char type; /* object type (0 if free) */
29  unsigned char flags;
30  unsigned short generation; /* generation counter */
32 
33 typedef struct _USER_HANDLE_TABLE
34 {
40 
41 typedef enum _HANDLE_TYPE
42 {
43  TYPE_FREE = 0,
45  TYPE_MENU = 2,
48  TYPE_HOOK = 5,
59  TYPE_TIMER = 16,
68 
70 {
83 
84 typedef struct _LARGE_UNICODE_STRING
85 {
91 
92 typedef struct _LARGE_STRING
93 {
99 
100 
101 /* Based on ANSI_STRING */
102 typedef struct _LARGE_ANSI_STRING
103 {
109 
110 VOID
111 NTAPI
114  IN PCSZ,
115  IN INT);
116 
117 VOID
118 NTAPI
121  IN PCWSTR,
122  IN INT);
123 
124 BOOL
125 NTAPI
128  PLARGE_STRING);
129 
130 #define NB_HOOKS (WH_MAXHOOK - WH_MINHOOK + 1)
131 
132 typedef struct _DESKTOPINFO
133 {
136  struct _WND *spwnd;
139 
143  struct _WND *spwndShell;
144  struct _WND *spwndBkGnd;
145 
147 
148  union
149  {
151  struct
152  {
154  };
155  };
156 
159 
160 #define CTI_THREADSYSLOCK 0x0001
161 #define CTI_INSENDMESSAGE 0x0002
162 
163 typedef struct _CLIENTTHREADINFO
164 {
170  ULONG timeLastRead; // Last time the message queue was read.
173 
174 typedef struct _HEAD
175 {
178 } HEAD, *PHEAD;
179 
180 typedef struct _THROBJHEAD
181 {
183  struct _THREADINFO *pti;
185 
186 typedef struct _THRDESKHEAD
187 {
189  struct _DESKTOP *rpdesk;
192 
193 typedef struct _PROCDESKHEAD
194 {
197  struct _DESKTOP *rpdesk;
200 
201 typedef struct _PROCMARKHEAD
202 {
205  struct _PROCESSINFO *ppi;
207 
208 #define UserHMGetHandle(obj) ((obj)->head.h)
209 
210 /* Window Client Information structure */
211 struct _ETHREAD;
212 
213 #define WEF_SETBYWNDPTI 0x0001
214 
215 typedef struct tagHOOK
216 {
218  struct tagHOOK *phkNext; /* This is for user space. */
219  int HookId; /* Hook table index */
221  ULONG flags; /* Some internal flags */
224  struct _DESKTOP *rpdesk;
225  /* ReactOS */
226  LIST_ENTRY Chain; /* Hook chain entry */
227  HOOKPROC Proc; /* Hook function */
228  BOOLEAN Ansi; /* Is it an Ansi hook? */
229  UNICODE_STRING ModuleName; /* Module name for global hooks */
230 } HOOK, *PHOOK;
231 
232 typedef struct tagCLIPBOARDDATA
233 {
236  BYTE Data[0];
238 
239 /* THREADINFO Flags */
240 #define TIF_INCLEANUP 0x00000001
241 #define TIF_16BIT 0x00000002
242 #define TIF_SYSTEMTHREAD 0x00000004
243 #define TIF_CSRSSTHREAD 0x00000008
244 #define TIF_TRACKRECTVISIBLE 0x00000010
245 #define TIF_ALLOWFOREGROUNDACTIVATE 0x00000020
246 #define TIF_DONTATTACHQUEUE 0x00000040
247 #define TIF_DONTJOURNALATTACH 0x00000080
248 #define TIF_WOW64 0x00000100
249 #define TIF_INACTIVATEAPPMSG 0x00000200
250 #define TIF_SPINNING 0x00000400
251 #define TIF_PALETTEAWARE 0x00000800
252 #define TIF_SHAREDWOW 0x00001000
253 #define TIF_FIRSTIDLE 0x00002000
254 #define TIF_WAITFORINPUTIDLE 0x00004000
255 #define TIF_MOVESIZETRACKING 0x00008000
256 #define TIF_VDMAPP 0x00010000
257 #define TIF_DOSEMULATOR 0x00020000
258 #define TIF_GLOBALHOOKER 0x00040000
259 #define TIF_DELAYEDEVENT 0x00080000
260 #define TIF_MSGPOSCHANGED 0x00100000
261 #define TIF_SHUTDOWNCOMPLETE 0x00200000
262 #define TIF_IGNOREPLAYBACKDELAY 0x00400000
263 #define TIF_ALLOWOTHERACCOUNTHOOK 0x00800000
264 #define TIF_GUITHREADINITIALIZED 0x02000000
265 #define TIF_DISABLEIME 0x04000000
266 #define TIF_INGETTEXTLENGTH 0x08000000
267 #define TIF_ANSILENGTH 0x10000000
268 #define TIF_DISABLEHOOKS 0x20000000
269 
270 typedef struct _CALLBACKWND
271 {
273  struct _WND *pWnd;
276 
277 #define CI_TRANSACTION 0x00000001
278 #define CI_QUEUEMSG 0x00000002
279 #define CI_WOW 0x00000004
280 #define CI_INITTHREAD 0x00000008
281 #define CI_CURTHPRHOOK 0x00000010
282 #define CI_CLASSESREGISTERED 0x00000020
283 #define CI_IMMACTIVATE 0x00000040
284 
285 typedef struct _CLIENTINFO
286 {
292  DWORD dwTIFlags; /* ThreadInfo TIF_Xxx flags for User space. */
313 /* It's just a pointer reference not to be used w the structure in user space. */
314  struct _PROCESSINFO *ppi;
316 
317 /* Make sure it fits into the TEB */
318 C_ASSERT(sizeof(CLIENTINFO) <= sizeof(((PTEB)0)->Win32ClientInfo));
319 
320 #define GetWin32ClientInfo() ((PCLIENTINFO)(NtCurrentTeb()->Win32ClientInfo))
321 
322 typedef struct tagDDEPACK
323 {
326 } DDEPACK, *PDDEPACK;
327 
328 #define HRGN_NULL ((HRGN)0) /* NULL empty region */
329 #define HRGN_WINDOW ((HRGN)1) /* region from window rcWindow */
330 #define HRGN_MONITOR ((HRGN)2) /* region from monitor region. */
331 
332 /* Menu Item fType. */
333 #define MFT_RTOL 0x6000
334 
335 /* Menu Item fState. */
336 #define MFS_HBMMENUBMP 0x20000000
337 
338 typedef struct tagITEM
339 {
343  struct tagMENU *spSubMenu; /* Pop-up menu. */
346  USHORT *Xlpstr; /* Item text pointer. */
349  ULONG xItem; /* Item position. left */
350  ULONG yItem; /* " top */
351  ULONG cxItem; /* Item Size Width */
352  ULONG cyItem; /* " Height */
353  ULONG dxTab; /* X position of text after Tab */
354  ULONG ulX; /* underline.. start position */
355  ULONG ulWidth; /* underline.. width */
356  HBITMAP hbmp; /* bitmap */
357  INT cxBmp; /* Width Maximum size of the bitmap items in MIIM_BITMAP state */
358  INT cyBmp; /* Height " */
359  /* ReactOS */
361 } ITEM, *PITEM;
362 
363 typedef struct tagMENULIST
364 {
366  struct tagMENU *pMenu;
367 } MENULIST, *PMENULIST;
368 
369 /* Menu fFlags, upper byte is MNS_X style flags. */
370 #define MNF_POPUP 0x0001
371 #define MNF_UNDERLINE 0x0004
372 #define MNF_INACTIVE 0x0010
373 #define MNF_RTOL 0x0020
374 #define MNF_DESKTOPMN 0x0040
375 #define MNF_SYSDESKMN 0x0080
376 #define MNF_SYSSUBMENU 0x0100
377 /* Hack */
378 #define MNF_SYSMENU 0x0200
379 
380 /* (other FocusedItem values give the position of the focused item) */
381 #define NO_SELECTED_ITEM 0xffff
382 
383 typedef struct tagMENU
384 {
386  ULONG fFlags; /* [Style flags | Menu flags] */
387  INT iItem; /* nPos of selected item, if -1 not selected. AKA focused item */
388  UINT cAlloced; /* Number of allocated items. Inc's of 8 */
389  UINT cItems; /* Number of items in the menu */
390  ULONG cxMenu; /* Width of the whole menu */
391  ULONG cyMenu; /* Height of the whole menu */
392  ULONG cxTextAlign; /* Offset of text when items have both bitmaps and text */
393  struct _WND *spwndNotify; /* window receiving the messages for ownerdraw */
394  PITEM rgItems; /* Array of menu items */
395  struct tagMENULIST *pParentMenus; /* If this is SubMenu, list of parents. */
397  ULONG cyMax; /* max height of the whole menu, 0 is screen height */
398  DWORD_PTR dwMenuData; /* application defined value */
399  HBRUSH hbrBack; /* brush for menu background */
400  INT iTop; /* Current scroll position Top */
401  INT iMaxTop; /* Current scroll position Max Top */
402  DWORD dwArrowsOn:2; /* Arrows: 0 off, 1 on, 2 to the top, 3 to the bottom. */
403  /* ReactOS */
405  HWND hWnd; /* Window containing the menu, use POPUPMENU */
407 } MENU, *PMENU;
408 
409 typedef struct tagPOPUPMENU
410 {
434  // ULONG fDesktopMenu:1;
437  struct _WND *spwndNotify;
449 
450 typedef struct _REGISTER_SYSCLASS
451 {
452  /* This is a reactos specific class used to initialize the
453  system window classes during user32 initialization */
459  HBRUSH hBrush;
463 
464 typedef struct _CLSMENUNAME
465 {
470 
471 typedef struct tagSBDATA
472 {
477 } SBDATA, *PSBDATA;
478 
479 typedef struct tagSBINFO
480 {
484 } SBINFO, *PSBINFO;
485 
486 typedef struct tagSBCALC
487 {
504 } SBCALC, *PSBCALC;
505 
506 typedef enum _GETCPD
507 {
508  UserGetCPDA2U = 0x01, /* " Unicode " */
509  UserGetCPDU2A = 0X02, /* " Ansi " */
514 } GETCPD, *PGETCPD;
515 
516 typedef struct _CALLPROCDATA
517 {
523 
524 #define CSF_SERVERSIDEPROC 0x0001
525 #define CSF_ANSIPROC 0x0002
526 #define CSF_WOWDEFERDESTROY 0x0004
527 #define CSF_SYSTEMCLASS 0x0008
528 #define CSF_WOWCLASS 0x0010
529 #define CSF_WOWEXTRA 0x0020
530 #define CSF_CACHEDSMICON 0x0040
531 #define CSF_WIN40COMPAT 0x0080
532 
533 typedef struct _CLS
534 {
535  struct _CLS *pclsNext;
542  PSTR lpszClientAnsiMenuName; /* For client use */
545  struct _CLS *pclsBase;
546  struct _CLS *pclsClone;
556  PWSTR lpszMenuName; /* kernel use */
560  UINT Unicode:1; // !CSF_ANSIPROC
561  UINT Global:1; // CS_GLOBALCLASS or CSF_SERVERSIDEPROC
564 } CLS, *PCLS;
565 
566 typedef struct _SBINFOEX
567 {
570 } SBINFOEX, *PSBINFOEX;
571 
572 /* State Flags !Not Implemented! */
573 #define WNDS_HASMENU 0X00000001
574 #define WNDS_HASVERTICALSCROOLLBAR 0X00000002
575 #define WNDS_HASHORIZONTALSCROLLBAR 0X00000004
576 #define WNDS_HASCAPTION 0X00000008
577 #define WNDS_SENDSIZEMOVEMSGS 0X00000010
578 #define WNDS_MSGBOX 0X00000020
579 #define WNDS_ACTIVEFRAME 0X00000040
580 #define WNDS_HASSPB 0X00000080
581 #define WNDS_NONCPAINT 0X00000100
582 #define WNDS_SENDERASEBACKGROUND 0X00000200
583 #define WNDS_ERASEBACKGROUND 0X00000400
584 #define WNDS_SENDNCPAINT 0X00000800
585 #define WNDS_INTERNALPAINT 0X00001000
586 #define WNDS_UPDATEDIRTY 0X00002000
587 #define WNDS_HIDDENPOPUP 0X00004000
588 #define WNDS_FORCEMENUDRAW 0X00008000
589 #define WNDS_DIALOGWINDOW 0X00010000
590 #define WNDS_HASCREATESTRUCTNAME 0X00020000
591 #define WNDS_SERVERSIDEWINDOWPROC 0x00040000 /* Call proc inside win32k. */
592 #define WNDS_ANSIWINDOWPROC 0x00080000
593 #define WNDS_BEINGACTIVATED 0x00100000
594 #define WNDS_HASPALETTE 0x00200000
595 #define WNDS_PAINTNOTPROCESSED 0x00400000
596 #define WNDS_SYNCPAINTPENDING 0x00800000
597 #define WNDS_RECEIVEDQUERYSUSPENDMSG 0x01000000
598 #define WNDS_RECEIVEDSUSPENDMSG 0x02000000
599 #define WNDS_TOGGLETOPMOST 0x04000000
600 #define WNDS_REDRAWIFHUNG 0x08000000
601 #define WNDS_REDRAWFRAMEIFHUNG 0x10000000
602 #define WNDS_ANSICREATOR 0x20000000
603 #define WNDS_MAXIMIZESTOMONITOR 0x40000000
604 #define WNDS_DESTROYED 0x80000000
605 
606 #define WNDSACTIVEFRAME 0x00000006
607 
608 /* State2 Flags !Not Implemented! */
609 #define WNDS2_WMPAINTSENT 0X00000001
610 #define WNDS2_ENDPAINTINVALIDATE 0X00000002
611 #define WNDS2_STARTPAINT 0X00000004
612 #define WNDS2_OLDUI 0X00000008
613 #define WNDS2_HASCLIENTEDGE 0X00000010
614 #define WNDS2_BOTTOMMOST 0X00000020
615 #define WNDS2_FULLSCREEN 0X00000040
616 #define WNDS2_INDESTROY 0X00000080
617 #define WNDS2_WIN31COMPAT 0X00000100
618 #define WNDS2_WIN40COMPAT 0X00000200
619 #define WNDS2_WIN50COMPAT 0X00000400
620 #define WNDS2_MAXIMIZEDMONITORREGION 0X00000800
621 #define WNDS2_CLOSEBUTTONDOWN 0X00001000
622 #define WNDS2_MAXIMIZEBUTTONDOWN 0X00002000
623 #define WNDS2_MINIMIZEBUTTONDOWN 0X00004000
624 #define WNDS2_HELPBUTTONDOWN 0X00008000
625 #define WNDS2_SCROLLBARLINEUPBTNDOWN 0X00010000
626 #define WNDS2_SCROLLBARPAGEUPBTNDOWN 0X00020000
627 #define WNDS2_SCROLLBARPAGEDOWNBTNDOWN 0X00040000
628 #define WNDS2_SCROLLBARLINEDOWNBTNDOWN 0X00080000
629 #define WNDS2_ANYSCROLLBUTTONDOWN 0X00100000
630 #define WNDS2_SCROLLBARVERTICALTRACKING 0X00200000
631 #define WNDS2_FORCENCPAINT 0X00400000
632 #define WNDS2_FORCEFULLNCPAINTCLIPRGN 0X00800000
633 #define WNDS2_FULLSCREENMODE 0X01000000
634 #define WNDS2_CAPTIONTEXTTRUNCATED 0X08000000
635 #define WNDS2_NOMINMAXANIMATERECTS 0X10000000
636 #define WNDS2_SMALLICONFROMWMQUERYDRAG 0X20000000
637 #define WNDS2_SHELLHOOKREGISTERED 0X40000000
638 #define WNDS2_WMCREATEMSGPROCESSED 0X80000000
639 
640 /* ExStyles2 */
641 #define WS_EX2_CLIPBOARDLISTENER 0X00000001
642 #define WS_EX2_LAYEREDINVALIDATE 0X00000002
643 #define WS_EX2_REDIRECTEDFORPRINT 0X00000004
644 #define WS_EX2_LINKED 0X00000008
645 #define WS_EX2_LAYEREDFORDWM 0X00000010
646 #define WS_EX2_LAYEREDLIMBO 0X00000020
647 #define WS_EX2_HIGHTDPI_UNAWAR 0X00000040
648 #define WS_EX2_VERTICALLYMAXIMIZEDLEFT 0X00000080
649 #define WS_EX2_VERTICALLYMAXIMIZEDRIGHT 0X00000100
650 #define WS_EX2_HASOVERLAY 0X00000200
651 #define WS_EX2_CONSOLEWINDOW 0X00000400
652 #define WS_EX2_CHILDNOACTIVATE 0X00000800
653 
654 #define WPF_MININIT 0x0008
655 #define WPF_MAXINIT 0x0010
656 
657 typedef struct _WND
658 {
660 #if 0
661  WW ww;
662 #else
663  /* These fields should be moved in the WW at some point. */
664  /* Plese do not change them to keep the same layout with WW. */
667  /* Extended style. */
669  /* Style. */
671  /* Handle of the module that created the window. */
674 #endif
675  struct _WND *spwndNext;
676  struct _WND *spwndPrev;
677  struct _WND *spwndParent;
678  struct _WND *spwndChild;
679  struct _WND *spwndOwner;
683  /* Pointer to the window class. */
686  /* Property list head.*/
689  /* Scrollbar info */
691  /* system menu handle. */
693  //PMENU spmenuSys;
694  /* Window menu handle or window id */
695  UINT_PTR IDMenu; // Use spmenu
696  //PMENU spmenu;
697  HRGN hrgnClip;
699  /* Window name. */
701  /* Size of the extra data associated with the window. */
704  HIMC hImc; // Input context associated with this window.
707  //PD3DMATRIX pTransForm;
710 
711  /* ReactOS */
712  struct
713  {
717  UINT flags; /* WPF_ flags. */
718  } InternalPos;
719 
720  UINT Unicode:1; /* !(WNDS_ANSICREATOR|WNDS_ANSIWINDOWPROC) ? */
722  UINT HideFocus:1; /* WS_EX_UISTATEFOCUSRECTHIDDEN ? */
723  UINT HideAccel:1; /* WS_EX_UISTATEKBACCELHIDDEN ? */
724 
725  /* Scrollbar info */
726  PSBINFOEX pSBInfoex; // convert to PSBINFO
727  /* Entry in the list of thread windows. */
729 } WND, *PWND;
730 
731 #define PWND_BOTTOM ((PWND)1)
732 
733 typedef struct _SBWND
734 {
739 } SBWND, *PSBWND;
740 
741 typedef struct _MDIWND
742 {
746 } MDIWND, *PMDIWND;
747 
748 #define GWLP_MDIWND 4
749 
750 typedef struct _MENUWND
751 {
754 } MENUWND, *PMENUWND;
755 
756 typedef struct _PFNCLIENT
757 {
782 
783 /*
784  Wine Common proc ( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam, BOOL Unicode );
785  Windows uses Ansi == TRUE, Wine uses Unicode == TRUE.
786  */
787 
788 typedef LRESULT
790  HWND,
791  UINT,
792  WPARAM,
793  LPARAM,
794  BOOL);
795 
796 typedef struct _PFNCLIENTWORKER
797 {
810 
811 typedef LONG_PTR
813  PWND,
814  UINT,
815  WPARAM,
816  LPARAM,
817  ULONG_PTR);
818 
819 /* FNID's for NtUserSetWindowFNID, NtUserMessageCall */
820 #define FNID_FIRST 0x029A
821 #define FNID_SCROLLBAR 0x029A
822 #define FNID_ICONTITLE 0x029B
823 #define FNID_MENU 0x029C
824 #define FNID_DESKTOP 0x029D
825 #define FNID_DEFWINDOWPROC 0x029E
826 #define FNID_MESSAGEWND 0x029F
827 #define FNID_SWITCH 0x02A0
828 #define FNID_BUTTON 0x02A1
829 #define FNID_COMBOBOX 0x02A2
830 #define FNID_COMBOLBOX 0x02A3
831 #define FNID_DIALOG 0x02A4
832 #define FNID_EDIT 0x02A5
833 #define FNID_LISTBOX 0x02A6
834 #define FNID_MDICLIENT 0x02A7
835 #define FNID_STATIC 0x02A8
836 #define FNID_IME 0x02A9
837 #define FNID_GHOST 0x02AA
838 #define FNID_CALLWNDPROC 0x02AB
839 #define FNID_CALLWNDPROCRET 0x02AC
840 #define FNID_HKINLPCWPEXSTRUCT 0x02AD
841 #define FNID_HKINLPCWPRETEXSTRUCT 0x02AE
842 #define FNID_MB_DLGPROC 0x02AF
843 #define FNID_MDIACTIVATEDLGPROC 0x02B0
844 #define FNID_SENDMESSAGE 0x02B1
845 #define FNID_SENDMESSAGEFF 0x02B2
846 /* Kernel has option to use TimeOut or normal msg send, based on type of msg. */
847 #define FNID_SENDMESSAGEWTOOPTION 0x02B3
848 #define FNID_SENDMESSAGECALLPROC 0x02B4
849 #define FNID_BROADCASTSYSTEMMESSAGE 0x02B5
850 #define FNID_TOOLTIPS 0x02B6
851 #define FNID_SENDNOTIFYMESSAGE 0x02B7
852 #define FNID_SENDMESSAGECALLBACK 0x02B8
853 #define FNID_LAST 0x02B9
854 
855 #define FNID_NUM FNID_LAST - FNID_FIRST + 1
856 #define FNID_NUMSERVERPROC FNID_SWITCH - FNID_FIRST + 1
857 
858 #define FNID_DDEML 0x2000 /* Registers DDEML */
859 #define FNID_DESTROY 0x4000 /* This is sent when WM_NCDESTROY or in the support routine. */
860  /* Seen during WM_CREATE on error exit too. */
861 #define FNID_FREED 0x8000 /* Window being Freed... */
862 
863 #define ICLASS_TO_MASK(iCls) (1 << ((iCls)))
864 
865 #define GETPFNCLIENTA(fnid) \
866  (WNDPROC)(*(((ULONG_PTR *)&gpsi->apfnClientA) + (fnid - FNID_FIRST)))
867 #define GETPFNCLIENTW(fnid) \
868  (WNDPROC)(*(((ULONG_PTR *)&gpsi->apfnClientW) + (fnid - FNID_FIRST)))
869 
870 #define GETPFNSERVER(fnid) gpsi->aStoCidPfn[fnid - FNID_FIRST]
871 
872 /* ICLS's for NtUserGetClassName FNID to ICLS, NtUserInitializeClientPfnArrays */
873 #define ICLS_BUTTON 0
874 #define ICLS_EDIT 1
875 #define ICLS_STATIC 2
876 #define ICLS_LISTBOX 3
877 #define ICLS_SCROLLBAR 4
878 #define ICLS_COMBOBOX 5
879 #define ICLS_MDICLIENT 6
880 #define ICLS_COMBOLBOX 7
881 #define ICLS_DDEMLEVENT 8
882 #define ICLS_DDEMLMOTHER 9
883 #define ICLS_DDEML16BIT 10
884 #define ICLS_DDEMLCLIENTA 11
885 #define ICLS_DDEMLCLIENTW 12
886 #define ICLS_DDEMLSERVERA 13
887 #define ICLS_DDEMLSERVERW 14
888 #define ICLS_IME 15
889 #define ICLS_GHOST 16
890 #define ICLS_DESKTOP 17
891 #define ICLS_DIALOG 18
892 #define ICLS_MENU 19
893 #define ICLS_SWITCH 20
894 #define ICLS_ICONTITLE 21
895 #define ICLS_TOOLTIPS 22
896 #if (_WIN32_WINNT <= 0x0501)
897 #define ICLS_UNKNOWN 22
898 #define ICLS_NOTUSED 23
899 #else
900 #define ICLS_SYSSHADOW 23
901 #define ICLS_HWNDMESSAGE 24
902 #define ICLS_NOTUSED 25
903 #endif
904 #define ICLS_END 31
905 
906 #define COLOR_LAST COLOR_MENUBAR
907 #define MAX_MB_STRINGS 11
908 
909 #define SRVINFO_DBCSENABLED 0x0002
910 #define SRVINFO_IMM32 0x0004
911 #define SRVINFO_APIHOOK 0x0010
912 #define SRVINFO_METRICS 0x0020
913 #define SRVINFO_KBDPREF 0x0080
914 
915 #define NUM_SYSCOLORS 31
916 
917 typedef struct tagOEMBITMAPINFO
918 {
924 
925 typedef enum _OBI_TYPES
926 {
934 } OBI_TYPES;
935 
936 typedef struct tagMBSTRING
937 {
941 } MBSTRING, *PMBSTRING;
942 
943 typedef struct tagDPISERVERINFO
944 {
945  INT gclBorder; /* 000 */
946  HFONT hCaptionFont; /* 004 */
947  HFONT hMsgFont; /* 008 */
948  INT cxMsgFontChar; /* 00C */
949  INT cyMsgFontChar; /* 010 */
950  UINT wMaxBtnSize; /* 014 */
952 
953 /* PUSIFlags: */
954 #define PUSIF_PALETTEDISPLAY 0x01
955 #define PUSIF_SNAPTO 0x02
956 #define PUSIF_COMBOBOXANIMATION 0x04
957 #define PUSIF_LISTBOXSMOOTHSCROLLING 0x08
958 #define PUSIF_KEYBOARDCUES 0x20
959 
960 typedef struct _PERUSERSERVERINFO
961 {
966  HBRUSH hbrGray;
1001 
1002 typedef struct tagSERVERINFO
1003 {
1027 
1028 #ifdef _M_IX86
1029 C_ASSERT(sizeof(SERVERINFO) <= PAGE_SIZE);
1030 #endif
1031 
1032 
1033 /* Server event activity bits. */
1034 #define SRV_EVENT_MENU 0x0001
1035 #define SRV_EVENT_END_APPLICATION 0x0002
1036 #define SRV_EVENT_RUNNING 0x0004
1037 #define SRV_EVENT_NAMECHANGE 0x0008
1038 #define SRV_EVENT_VALUECHANGE 0x0010
1039 #define SRV_EVENT_STATECHANGE 0x0020
1040 #define SRV_EVENT_LOCATIONCHANGE 0x0040
1041 #define SRV_EVENT_CREATE 0x8000
1042 
1043 typedef struct _PROPLISTITEM
1044 {
1048 
1049 #define PROPERTY_FLAG_SYSTEM 1
1050 
1051 typedef struct _PROPERTY
1052 {
1057 } PROPERTY, *PPROPERTY;
1058 
1059 typedef struct _BROADCASTPARM
1060 {
1063  HDESK hDesk;
1067 
1070 
1071 typedef struct _WNDMSG
1072 {
1075 } WNDMSG, *PWNDMSG;
1076 
1077 typedef struct _SHAREDINFO
1078 {
1079  PSERVERINFO psi; /* global Server Info */
1080  PVOID aheList; /* Handle Entry List */
1081  PVOID pDispInfo; /* global PDISPLAYINFO pointer */
1082  ULONG_PTR ulSharedDelta; /* Heap delta */
1087 
1088 /* See also the USERSRV_API_CONNECTINFO #define in include/reactos/subsys/win/winmsg.h */
1089 typedef struct _USERCONNECT
1090 {
1096 
1097 /* WinNT 5.0 compatible user32 / win32k */
1098 #define USER_VERSION MAKELONG(0x0000, 0x0005)
1099 
1100 #if defined(_M_IX86)
1101 C_ASSERT(sizeof(USERCONNECT) == 0x124);
1102 #endif
1103 
1104 typedef struct tagGETCLIPBDATA
1105 {
1108  union
1109  {
1112  };
1114 
1115 typedef struct tagSETCLIPBDATA
1116 {
1120 
1121 /* Used with NtUserSetCursorIconData, last parameter. */
1122 typedef struct tagCURSORDATA
1123 {
1135  HBITMAP hbmUserAlpha; /* Could be in W7U, not in W2k */
1145 } CURSORDATA, *PCURSORDATA; /* !dso CURSORDATA */
1146 
1147 /* CURSORF_flags: */
1148 #define CURSORF_FROMRESOURCE 0x0001
1149 #define CURSORF_GLOBAL 0x0002
1150 #define CURSORF_LRSHARED 0x0004
1151 #define CURSORF_ACON 0x0008
1152 #define CURSORF_WOWCLEANUP 0x0010
1153 #define CURSORF_ACONFRAME 0x0040
1154 #define CURSORF_SECRET 0x0080
1155 #define CURSORF_LINKED 0x0100
1156 #define CURSORF_CURRENT 0x0200
1157 
1158 typedef struct tagIMEINFOEX
1159 {
1170  struct
1171  {
1174  };
1175 } IMEINFOEX, *PIMEINFOEX;
1176 
1177 typedef enum IMEINFOEXCLASS
1178 {
1181 } IMEINFOEXCLASS;
1182 
1183 #define IS_IME_HKL(hkl) ((((ULONG_PTR)(hkl)) & 0xF0000000) == 0xE0000000)
1184 
1185 typedef struct tagIMEUI
1186 {
1193  struct {
1201  };
1202 } IMEUI, *PIMEUI;
1203 
1204 /* Window Extra data container. */
1205 typedef struct _IMEWND
1206 {
1209 } IMEWND, *PIMEWND;
1210 
1211 DWORD
1212 NTAPI
1214  DWORD dwUnknown1,
1215  DWORD dwUnknown2,
1216  DWORD dwUnknown3);
1217 
1218 DWORD
1219 NTAPI
1221  DWORD dwUnknown1,
1222  DWORD dwUnknown2,
1223  DWORD dwUnknown3,
1224  DWORD dwUnknown4);
1225 
1226 DWORD
1227 NTAPI
1229  HWND hwnd,
1230  DWORD x,
1231  DWORD width,
1232  DWORD y,
1233  LPRECT prc);
1234 
1235 DWORD
1236 NTAPI
1238  HMENU hmenu,
1239  UINT uIDCheckItem,
1240  UINT uCheck);
1241 
1242 DWORD
1243 NTAPI
1245  DWORD dwUnknown1,
1246  DWORD dwUnknown2,
1247  DWORD dwUnknown3);
1248 
1249 DWORD
1250 APIENTRY
1252  DWORD Unknown0,
1253  DWORD Unknown1);
1254 
1255 DWORD
1256 APIENTRY
1258  DWORD Unknown0,
1259  DWORD Unknown1);
1260 
1261 BOOL
1262 NTAPI
1264  HMENU hMenu,
1265  UINT uPosition,
1266  UINT uFlags);
1267 
1268 BOOL
1269 NTAPI
1271  HMENU hMenu);
1272 
1273 DWORD
1274 NTAPI
1276  HWND hWnd,
1277  HDC hDC,
1278  PRECT hRect,
1279  HMENU hMenu,
1280  HFONT hFont);
1281 
1282 UINT
1283 NTAPI
1285  HMENU hMenu,
1286  UINT uIDEnableItem,
1287  UINT uEnable);
1288 
1289 BOOL
1290 NTAPI
1292 
1293 BOOL
1294 NTAPI
1296  HWND hwnd,
1297  LONG idObject,
1298  LONG idItem,
1299  PMENUBARINFO pmbi);
1300 
1301 UINT
1302 NTAPI
1304  HMENU hMenu,
1305  HMENU hSubMenu);
1306 
1307 BOOL
1308 NTAPI
1310  HWND hWnd,
1311  HMENU hMenu,
1312  UINT uItem,
1313  LPRECT lprcItem);
1314 
1315 HMENU
1316 NTAPI
1318  HWND hWnd,
1319  BOOL bRevert);
1320 
1321 BOOL
1322 NTAPI
1324  HWND hWnd,
1325  HMENU hMenu,
1326  UINT uItemHilite,
1327  UINT uHilite);
1328 
1329 int
1330 NTAPI
1332  HWND hWnd,
1333  HMENU hMenu,
1334  DWORD X,
1335  DWORD Y);
1336 
1337 BOOL
1338 NTAPI
1340  HMENU hMenu,
1341  UINT uPosition,
1342  UINT uFlags);
1343 
1344 BOOL
1345 NTAPI
1347  HWND hWnd,
1348  HMENU hMenu,
1349  BOOL bRepaint);
1350 
1351 BOOL
1352 NTAPI
1354  HMENU hmenu,
1355  DWORD dwContextHelpId);
1356 
1357 BOOL
1358 NTAPI
1360  HMENU hMenu,
1361  UINT uItem,
1362  UINT fByPos);
1363 
1364 BOOL
1365 NTAPI
1367  HMENU hMenu);
1368 
1369 BOOL
1370 NTAPI
1372  HWND hWnd,
1373  HMENU hMenu);
1374 
1375 BOOL
1376 NTAPI
1378  HMENU hMenu,
1379  LPCMENUINFO lpcmi);
1380 
1381 BOOL
1382 NTAPI
1384  HMENU hMenu,
1385  UINT uItem,
1386  BOOL fByPosition,
1387  BOOL bInsert,
1388  LPMENUITEMINFOW lpmii,
1389  PUNICODE_STRING lpszCaption);
1390 
1391 BOOL
1392 NTAPI
1394  HMENU hmenu,
1395  UINT fuFlags,
1396  int x,
1397  int y,
1398  HWND hwnd,
1399  LPTPMPARAMS lptpm);
1400 
1401 HKL
1402 NTAPI
1404  HKL hKl,
1405  ULONG Flags);
1406 
1407 DWORD
1408 NTAPI
1410  HWND hWnd,
1411  DWORD Index,
1412  LONG NewValue);
1413 
1414 BOOL
1415 NTAPI
1417  IN DWORD idAttach,
1418  IN DWORD idAttachTo,
1419  IN BOOL fAttach);
1420 
1421 HDC NTAPI
1423  HWND hWnd,
1424  PAINTSTRUCT *lPs);
1425 
1426 BOOL
1427 NTAPI
1429  HDC hdc,
1430  INT nXDest,
1431  INT nYDest,
1432  INT nWidth,
1433  INT nHeight,
1434  INT nXSrc,
1435  INT nYSrc,
1436  DWORD dwRop);
1437 
1438 BOOL
1439 NTAPI
1441  BOOL BlockIt);
1442 
1443 NTSTATUS
1444 NTAPI
1446  HDESK hDesktop,
1447  HWND hwndParent,
1448  BOOLEAN bChildren,
1449  ULONG dwThreadId,
1450  ULONG lParam,
1451  HWND *pWnd,
1452  ULONG *pBufSize);
1453 
1454 NTSTATUS
1455 NTAPI
1457  HWINSTA hWinSta,
1458  ULONG dwSize,
1459  PVOID lpBuffer,
1460  PULONG pRequiredSize);
1461 
1462 NTSTATUS
1463 NTAPI
1465  HWND hWnd,
1466  LPVOID Buffer,
1467  DWORD BufferSize,
1468  DWORD *Count);
1469 
1470 /* apfnSimpleCall indices from Windows XP SP 2 */
1471 /* TODO: Check for differences in Windows 2000, 2003 and 2008 */
1472 #define WIN32K_VERSION NTDDI_WINXPSP2 /* FIXME: this should go somewhere else */
1473 
1475 {
1478 #if (WIN32K_VERSION >= NTDDI_VISTA)
1483 #endif
1485 #if (WIN32K_VERSION < NTDDI_VISTA)
1489 #endif
1494 #if (WIN32K_VERSION >= NTDDI_VISTA)
1496 #else
1497  NOPARAM_ROUTINE_GETREMOTEPROCESSID,
1498 #endif
1501 #if (WIN32K_VERSION >= NTDDI_VISTA)
1504 #endif
1519 #if (WIN32K_VERSION >= NTDDI_VISTA)
1521 #endif
1524 #if (WIN32K_VERSION < NTDDI_VISTA)
1526 #endif
1528 #if (WIN32K_VERSION >= NTDDI_VISTA)
1530 #endif
1534 #if (WIN32K_VERSION < NTDDI_VISTA)
1535  ONEPARAM_ROUTINE_CREATESYSTEMTHREADS,
1536 #endif
1540 #if (WIN32K_VERSION < NTDDI_VISTA)
1541  ONEPARAM_ROUTINE_GETCURSORPOS,
1542 #endif
1549 #if (WIN32K_VERSION < NTDDI_VISTA)
1550  ONEPARAM_ROUTINE_HANDLESYSTHRDCREATFAIL,
1551 #endif
1558 #if (WIN32K_VERSION < NTDDI_VISTA)
1559  ONEPARAM_ROUTINE_PREPAREFORLOGOFF,
1560 #endif
1563 #if (WIN32K_VERSION >= NTDDI_VISTA)
1565 #endif
1569 #if (WIN32K_VERSION >= NTDDI_VISTA)
1571 #endif
1575 #if (WIN32K_VERSION < NTDDI_VISTA)
1576  ONEPARAM_ROUTINE_SETIMESHOWSTATUS,
1577 #endif
1580 #if (WIN32K_VERSION >= NTDDI_VISTA)
1582 #endif
1587 #if (WIN32K_VERSION < NTDDI_VISTA)
1588  X_ROUTINE_REMOTENOTIFY,
1589 #endif
1604  HWNDLOCK_ROUTINE_WINDOWHASSHADOW, /* correct prefix ? */
1623 #if (WIN32K_VERSION >= NTDDI_VISTA)
1626 #endif
1630 #if (WIN32K_VERSION >= NTDDI_VISTA)
1632 #endif
1634 #if (WIN32K_VERSION >= NTDDI_VISTA)
1636 #else
1637  TWOPARAM_ROUTINE_REGISTERSYSTEMTHREAD,
1638 #endif
1644 #if (WIN32K_VERSION >= NTDDI_VISTA)
1646 #endif
1649 };
1650 
1651 DWORD
1652 NTAPI
1654  HWND hWnd,
1655  DWORD Routine);
1656 
1657 BOOL
1658 NTAPI
1660  HWND hWnd,
1661  DWORD Routine);
1662 
1663 HWND
1664 NTAPI
1666  HWND hWnd,
1667  DWORD Routine);
1668 
1669 DWORD
1670 NTAPI
1672  HWND hWnd,
1673  DWORD_PTR Param,
1674  DWORD Routine);
1675 
1676 DWORD
1677 NTAPI
1679  HWND hWnd,
1680  DWORD_PTR Param,
1681  DWORD Routine);
1682 
1683 BOOL
1684 NTAPI
1686  LPMSG msg,
1687  INT code);
1688 
1689 LRESULT
1690 NTAPI
1692  int Code,
1693  WPARAM wParam,
1694  LPARAM lParam,
1695  BOOL Ansi);
1696 
1697 DWORD_PTR
1698 NTAPI
1700  DWORD Routine);
1701 
1702 DWORD_PTR
1703 NTAPI
1705  DWORD_PTR Param,
1706  DWORD Routine);
1707 
1708 DWORD_PTR
1709 NTAPI
1711  DWORD_PTR Param1,
1712  DWORD_PTR Param2,
1713  DWORD Routine);
1714 
1715 BOOL
1716 NTAPI
1718  HWND hWndRemove,
1719  HWND hWndNewNext);
1720 
1721 LONG
1722 NTAPI
1724  PUNICODE_STRING lpszDeviceName,
1726  DWORD dwflags,
1727  LPVOID lParam);
1728 
1729 BOOL
1730 NTAPI
1732  DWORD dwThreadId);
1733 
1734 BOOL
1735 NTAPI
1737  HWND hwnd,
1738  DWORD dwThreadId,
1739  ULONG ReturnValue);
1740 
1741 DWORD
1742 NTAPI
1744  DWORD dwUnknown1,
1745  LPARAM dwUnknown2);
1746 
1747 HWND NTAPI
1749  HWND Parent,
1750  LONG x,
1751  LONG y,
1752  UINT Flags);
1753 
1754 BOOL
1755 NTAPI
1757  RECT *lpRect);
1758 
1759 BOOL
1760 NTAPI
1762 
1763 BOOL
1764 NTAPI
1766  HDESK hDesktop);
1767 
1768 BOOL
1769 NTAPI
1771  HWINSTA hWinSta);
1772 
1773 /* Console commands for NtUserConsoleControl */
1774 typedef enum _CONSOLECONTROL
1775 {
1781 
1783 {
1787 
1788 NTSTATUS
1789 APIENTRY
1791  IN CONSOLECONTROL ConsoleCtrl,
1792  IN PVOID ConsoleCtrlInfo,
1793  IN ULONG ConsoleCtrlInfoLength);
1794 
1795 HANDLE
1796 NTAPI
1798  PVOID pData,
1799  DWORD cbData);
1800 
1801 ULONG
1802 NTAPI
1804  HACCEL Table,
1805  LPACCEL Entries,
1806  ULONG EntriesCount);
1807 
1808 DWORD
1809 NTAPI
1811 
1812 HACCEL
1813 NTAPI
1815  LPACCEL Entries,
1816  ULONG EntriesCount);
1817 
1818 BOOL
1819 NTAPI
1821  HWND hWnd,
1822  HBITMAP hBitmap,
1823  int nWidth,
1824  int nHeight);
1825 
1826 HDESK
1827 NTAPI
1829  POBJECT_ATTRIBUTES poa,
1830  PUNICODE_STRING lpszDesktopDevice,
1831  LPDEVMODEW lpdmw,
1832  DWORD dwFlags,
1833  ACCESS_MASK dwDesiredAccess);
1834 
1835 DWORD
1836 NTAPI
1838  DWORD dwUnknown1);
1839 
1840 NTSTATUS
1841 NTAPI
1843  HANDLE hMem,
1844  PVOID pData,
1845  DWORD cbData,
1846  DWORD *pcbData);
1847 
1848 HWND
1849 NTAPI
1851  DWORD dwExStyle,
1852  PLARGE_STRING plstrClassName,
1853  PLARGE_STRING plstrClsVersion,
1854  PLARGE_STRING plstrWindowName,
1855  DWORD dwStyle,
1856  int x,
1857  int y,
1858  int nWidth,
1859  int nHeight,
1860  HWND hWndParent,
1861  HMENU hMenu,
1863  LPVOID lpParam,
1864  DWORD dwFlags,
1865  PVOID acbiBuffer);
1866 
1867 HWINSTA
1868 NTAPI
1871  ACCESS_MASK dwDesiredAccess,
1872  DWORD Unknown2,
1873  DWORD Unknown3,
1874  DWORD Unknown4,
1875  DWORD Unknown5,
1876  DWORD Unknown6);
1877 
1878 BOOL
1879 NTAPI
1881  IN HWND hwndClient,
1882  IN HWND hWndServer,
1884 
1885 DWORD
1886 NTAPI
1888  DWORD Unknown0,
1889  DWORD Unknown1,
1890  DWORD Unknown2,
1891  DWORD Unknown3,
1892  DWORD Unknown4);
1893 
1894 BOOL
1895 NTAPI
1897  IN HWND hwndClient,
1900 
1901 HDWP
1902 NTAPI
1904  HDWP WinPosInfo,
1905  HWND Wnd,
1906  HWND WndInsertAfter,
1907  int x,
1908  int y,
1909  int cx,
1910  int cy,
1911  UINT Flags);
1912 
1913 BOOL
1914 NTAPI
1916  HWND WindowHandle,
1917  PLARGE_STRING WindowText);
1918 
1919 BOOLEAN
1920 NTAPI
1922  HACCEL Table);
1923 
1924 BOOL
1925 NTAPI
1927  _In_ HANDLE Handle,
1928  _In_ BOOL bForce);
1929 
1930 DWORD
1931 NTAPI
1933  DWORD dwUnknown1);
1934 
1935 BOOLEAN
1936 NTAPI
1938  HWND Wnd);
1939 
1940 DWORD
1941 NTAPI
1943  DWORD dwUnknown1);
1944 
1945 LRESULT
1946 NTAPI
1948  PMSG pMsg);
1949 
1950 BOOL
1951 NTAPI
1953  HWND hWnd,
1954  POINT pt);
1955 
1956 DWORD
1957 NTAPI
1959  HWND hwnd1,
1960  HWND hwnd2,
1961  UINT u1,
1962  DWORD dw1,
1963  HCURSOR hc1);
1964 
1965 BOOL
1966 NTAPI
1968  HWND hwnd,
1969  INT idAni,
1970  RECT *lprcFrom,
1971  RECT *lprcTo);
1972 
1973 BOOL
1974 NTAPI
1976  HWND hWnd,
1977  HDC hDc,
1978  LPCRECT lpRc,
1979  UINT uFlags);
1980 
1981 BOOL
1982 NTAPI
1984  HWND hWnd,
1985  HDC hDC,
1986  LPCRECT lpRc,
1987  HFONT hFont,
1988  HICON hIcon,
1989  const PUNICODE_STRING str,
1990  UINT uFlags);
1991 
1992 /* Used with NtUserDrawIconEx, last parameter. */
1993 typedef struct _DRAWICONEXDATA
1994 {
1997  int cx;
1998  int cy;
2000 
2001 BOOL
2002 NTAPI
2004  HDC hdc,
2005  int xLeft,
2006  int yTop,
2007  HICON hIcon,
2008  int cxWidth,
2009  int cyWidth,
2010  UINT istepIfAniCur,
2011  HBRUSH hbrFlickerFreeDraw,
2012  UINT diFlags,
2013  BOOL bMetaHDC,
2014  PVOID pDIXData);
2015 
2016 BOOL
2017 NTAPI
2019 
2020 BOOL
2021 NTAPI
2023  HWND hWnd,
2024  UINT wSBflags,
2025  UINT wArrows);
2026 
2027 BOOL
2028 NTAPI
2030  HDWP WinPosInfo,
2031  DWORD Unknown1);
2032 
2033 BOOL
2034 NTAPI
2036  HWND hWnd,
2037  CONST PAINTSTRUCT *lPs);
2038 
2039 BOOL
2040 NTAPI
2042  PUNICODE_STRING lpDevice, /* device name */
2043  DWORD iDevNum, /* display device */
2044  PDISPLAY_DEVICEW lpDisplayDevice, /* device information */
2045  DWORD dwFlags); /* reserved */
2046 
2047 /*
2048 BOOL
2049 NTAPI
2050 NtUserEnumDisplayMonitors(
2051  HDC hdc,
2052  LPCRECT lprcClip,
2053  MONITORENUMPROC lpfnEnum,
2054  LPARAM dwData);
2055 */
2056 /* FIXME: The call below is ros-specific and should be rewritten to use the same params as the correct call above. */
2057 INT
2058 NTAPI
2060  OPTIONAL IN HDC hDC,
2061  OPTIONAL IN LPCRECT pRect,
2062  OPTIONAL OUT HMONITOR *hMonitorList,
2063  OPTIONAL OUT LPRECT monitorRectList,
2064  OPTIONAL IN DWORD listSize);
2065 
2066 
2067 NTSTATUS
2068 NTAPI
2070  PUNICODE_STRING lpszDeviceName,
2071  DWORD iModeNum,
2072  LPDEVMODEW lpDevMode, /* FIXME is this correct? */
2073  DWORD dwFlags);
2074 
2075 DWORD
2076 NTAPI
2077 NtUserEvent(
2078  DWORD Unknown0);
2079 
2080 INT
2081 NTAPI
2083  HDC hDC,
2084  HWND hWnd);
2085 
2086 BOOL
2087 NTAPI
2089  HWND hWndPaint,
2090  HWND hWndPaint1,
2091  HDC hDC,
2092  HBRUSH hBrush);
2093 
2094 HWND
2095 NTAPI
2097  HWND hwndParent,
2098  HWND hwndChildAfter,
2099  PUNICODE_STRING ucClassName,
2100  PUNICODE_STRING ucWindowName,
2101  DWORD dwUnknown);
2102 
2103 BOOL
2104 NTAPI
2106  IN PFLASHWINFO pfwi);
2107 
2108 BOOL
2109 NTAPI
2111  HWND hwnd,
2112  INT iItem,
2113  PALTTABINFO pati,
2114  LPWSTR pszItemText,
2115  UINT cchItemText,
2116  BOOL Ansi);
2117 
2118 HWND
2119 NTAPI
2121  HWND hWnd,
2122  UINT Flags);
2123 
2124 DWORD
2125 NTAPI
2127  DWORD dwUnknown1);
2128 
2129 SHORT
2130 NTAPI
2132  INT Key);
2133 
2134 _Success_(return != 0)
2135 _At_(pustrName->Buffer, _Out_z_bytecap_post_bytecount_(pustrName->MaximumLength, return * 2 + 2))
2136 ULONG
2137 APIENTRY
2138 NtUserGetAtomName(
2139  _In_ ATOM atom,
2140  _Inout_ PUNICODE_STRING pustrName);
2141 
2142 UINT
2143 NTAPI
2145 
2146 BOOL
2147 NTAPI
2149  LPPOINT lpPoint);
2150 
2151 BOOL
2152 NTAPI
2155  PUNICODE_STRING ClassName,
2156  LPWNDCLASSEXW wcex,
2157  LPWSTR *ppszMenuName,
2158  BOOL Ansi);
2159 
2160 INT
2161 NTAPI
2163  HWND hWnd,
2164  BOOL Real, /* 0 GetClassNameW, 1 RealGetWindowClassA/W */
2165  PUNICODE_STRING ClassName);
2166 
2167 HANDLE
2168 NTAPI
2170  UINT fmt,
2171  PGETCLIPBDATA pgcd);
2172 
2173 INT
2174 NTAPI
2176  UINT uFormat,
2177  LPWSTR lpszFormatName,
2178  INT cchMaxCount);
2179 
2180 HWND
2181 NTAPI
2183 
2184 DWORD
2185 NTAPI
2187 
2188 HWND
2189 NTAPI
2191 
2192 BOOL
2193 NTAPI
2195  RECT *lpRect);
2196 
2197 BOOL
2198 NTAPI
2200  HWND hWnd,
2201  PCOMBOBOXINFO pcbi);
2202 
2203 HBRUSH
2204 NTAPI
2206  HWND hwnd,
2207  HDC hdc,
2208  UINT ctlType);
2209 
2210 HBRUSH
2211 NTAPI
2213  HWND hwndParent,
2214  HWND hwnd,
2215  HDC hdc,
2216  UINT CtlMsg);
2217 
2218 ULONG_PTR
2219 NTAPI
2220 NtUserGetCPD(
2221  HWND hWnd,
2222  GETCPD Flags,
2223  ULONG_PTR Proc);
2224 
2225 HCURSOR
2226 NTAPI
2228  HCURSOR hCursor,
2229  DWORD istep,
2230  INT *rate_jiffies,
2231  DWORD *num_steps);
2232 
2233 BOOL
2234 NTAPI
2236  PCURSORINFO pci);
2237 
2238 HDC
2239 NTAPI
2240 NtUserGetDC(
2241  HWND hWnd);
2242 
2243 HDC
2244 NTAPI
2246  HWND hWnd,
2247  HANDLE hRegion,
2248  ULONG Flags);
2249 
2250 UINT
2251 NTAPI
2253 
2254 HWND
2255 NTAPI
2257 
2258 DWORD
2259 NTAPI
2261  HANDLE hProcess,
2262  DWORD uiFlags);
2263 
2264 BOOL
2265 NTAPI
2267  DWORD idThread,
2268  LPGUITHREADINFO lpgui);
2269 
2271 BOOL
2272 NTAPI
2273 NtUserGetIconInfo(
2274  _In_ HANDLE hCurIcon,
2279  _In_ BOOL bInternal);
2280 
2281 BOOL
2282 NTAPI
2284  HANDLE Handle,
2285  UINT istepIfAniCur,
2286  LONG *plcx,
2287  LONG *plcy);
2288 
2289 BOOL NTAPI
2290 NtUserGetImeHotKey(IN DWORD dwHotKey,
2291  OUT LPUINT lpuModifiers,
2292  OUT LPUINT lpuVKey,
2293  OUT LPHKL lphKL);
2294 
2295 BOOL
2296 NTAPI
2298  PIMEINFOEX pImeInfoEx,
2299  IMEINFOEXCLASS SearchType);
2300 
2301 DWORD
2302 NTAPI
2304  HWND hwnd,
2305  LPRECT rectWnd,
2306  LPPOINT ptIcon);
2307 
2308 HKL
2309 NTAPI
2311  DWORD dwThreadid);
2312 
2313 UINT
2314 NTAPI
2316  ULONG nItems,
2317  HKL *pHklBuff);
2318 
2319 BOOL
2320 NTAPI
2322  LPWSTR lpszName);
2323 
2324 DWORD
2325 NTAPI
2327  LPBYTE Unknown0);
2328 
2329 DWORD
2330 NTAPI
2332  DWORD TypeFlag);
2333 
2334 DWORD
2335 NTAPI
2337  LONG lParam,
2338  LPWSTR lpString,
2339  int nSize);
2340 
2341 SHORT
2342 NTAPI
2344  INT VirtKey);
2345 
2346 BOOL
2347 NTAPI
2349  HWND hwnd,
2350  COLORREF *pcrKey,
2351  BYTE *pbAlpha,
2352  DWORD *pdwFlags);
2353 
2354 DWORD
2355 NTAPI
2357  HWND hWnd);
2358 
2359 BOOL
2360 APIENTRY
2362  PMSG pMsg,
2363  HWND hWnd,
2364  UINT MsgFilterMin,
2365  UINT MsgFilterMax);
2366 
2367 DWORD
2368 NTAPI
2370  UINT cbSize,
2371  LPMOUSEMOVEPOINT lppt,
2372  LPMOUSEMOVEPOINT lpptBuf,
2373  int nBufPoints,
2374  DWORD resolution);
2375 
2376 BOOL
2377 NTAPI
2379  HANDLE hObject,
2380  DWORD nIndex,
2381  PVOID pvInformation,
2382  DWORD nLength,
2383  PDWORD nLengthNeeded);
2384 
2385 HWND
2386 NTAPI
2388 
2389 INT
2390 NTAPI
2392  UINT *paFormatPriorityList,
2393  INT cFormats);
2394 
2395 HWINSTA
2396 NTAPI
2398 
2399 DWORD
2400 NTAPI
2402  PRAWINPUT pData,
2403  PUINT pcbSize,
2404  UINT cbSizeHeader);
2405 
2406 DWORD
2407 NTAPI
2409  HRAWINPUT hRawInput,
2410  UINT uiCommand,
2411  LPVOID pData,
2412  PUINT pcbSize,
2413  UINT cbSizeHeader);
2414 
2415 DWORD
2416 NTAPI
2418  HANDLE hDevice,
2419  UINT uiCommand,
2420  LPVOID pData,
2421  PUINT pcbSize);
2422 
2423 DWORD
2424 NTAPI
2426  PRAWINPUTDEVICELIST pRawInputDeviceList,
2427  PUINT puiNumDevices,
2428  UINT cbSize);
2429 
2430 DWORD
2431 NTAPI
2433  PRAWINPUTDEVICE pRawInputDevices,
2434  PUINT puiNumDevices,
2435  UINT cbSize);
2436 
2437 BOOL
2438 NTAPI
2440  HWND hWnd,
2441  LONG idObject,
2442  PSCROLLBARINFO psbi);
2443 
2444 HDESK
2445 NTAPI
2447  DWORD dwThreadId,
2448  HDESK hConsoleDesktop);
2449 
2451 {
2465 };
2466 
2467 DWORD_PTR
2468 NTAPI
2470  DWORD Routine);
2471 
2472 BOOLEAN
2473 NTAPI
2475  HWND hwnd,
2476  PTITLEBARINFO pti);
2477 
2478 BOOL
2479 NTAPI
2481  HWND hWnd,
2482  LPRECT lpRect,
2483  BOOL fErase);
2484 
2485 INT
2486 NTAPI
2488  HWND hWnd,
2489  HRGN hRgn,
2490  BOOL bErase);
2491 
2492 HDC
2493 NTAPI
2495  HWND hWnd);
2496 
2497 BOOL
2498 NTAPI
2500  HWND hWnd,
2501  WINDOWPLACEMENT *lpwndpl);
2502 
2503 PCLS
2504 NTAPI
2507  PUNICODE_STRING ClassName);
2508 
2509 DWORD
2510 NTAPI
2512  DWORD dwUnknown1,
2513  DWORD dwUnknown2,
2514  DWORD dwUnknown3);
2515 
2516 BOOL
2517 NTAPI
2519  HWND hWndClient,
2520  HWND hWndServer);
2521 
2522 NTSTATUS
2523 NTAPI
2525  DWORD dwWinVersion,
2526  HANDLE hPowerRequestEvent,
2527  HANDLE hMediaRequestEvent);
2528 
2529 NTSTATUS
2530 NTAPI
2535  HINSTANCE hmodUser);
2536 
2537 DWORD
2538 NTAPI
2540  DWORD Unknown0,
2541  DWORD Unknown1,
2542  DWORD Unknown2,
2543  DWORD Unknown3,
2544  DWORD Unknown4,
2545  DWORD Unknown5,
2546  DWORD Unknown6,
2547  DWORD Unknown7,
2548  DWORD Unknown8,
2549  DWORD Unknown9,
2550  DWORD Unknown10,
2551  DWORD Unknown11);
2552 
2553 INT
2554 NTAPI
2556  HWND hWnd,
2557  LPWSTR lpString,
2558  INT nMaxCount);
2559 
2560 BOOL
2561 NTAPI
2563  HWND hWnd,
2564  CONST RECT *lpRect,
2565  BOOL bErase);
2566 
2567 BOOL
2568 NTAPI
2570  HWND hWnd,
2571  HRGN hRgn,
2572  BOOL bErase);
2573 
2574 BOOL
2575 NTAPI
2577  UINT format);
2578 
2579 BOOL
2580 NTAPI
2582  HWND hWnd,
2583  UINT_PTR uIDEvent);
2584 
2585 HKL
2586 NTAPI
2588  IN HANDLE Handle,
2589  IN DWORD offTable,
2590  IN PUNICODE_STRING puszKeyboardName,
2591  IN HKL hKL,
2592  IN PUNICODE_STRING puszKLID,
2593  IN DWORD dwKLID,
2594  IN UINT Flags);
2595 
2596 BOOL
2597 NTAPI
2599  HWINSTA hWindowStation);
2600 
2601 BOOL
2602 NTAPI
2604  HWND hWnd);
2605 
2606 BOOL
2607 NTAPI
2609 
2610 UINT
2611 NTAPI
2613  UINT keyCode,
2614  UINT transType,
2615  DWORD keyboardId,
2616  HKL dwhkl);
2617 
2618 typedef struct tagDOSENDMESSAGE
2619 {
2623 }
2625 
2626 BOOL
2627 NTAPI
2629  HWND hWnd,
2630  UINT Msg,
2631  WPARAM wParam,
2632  LPARAM lParam,
2633  ULONG_PTR ResultInfo,
2634  DWORD dwType, /* FNID_XX types */
2635  BOOL Ansi);
2636 
2637 DWORD
2638 NTAPI
2640  HWND hWnd,
2641  UINT cmd, /* Wine SW_ commands */
2642  BOOL Hide);
2643 
2644 DWORD
2645 NTAPI
2647 
2648 DWORD
2649 NTAPI
2651  DWORD Unknown0,
2652  DWORD Unknown1);
2653 
2654 DWORD
2655 NTAPI
2657  DWORD Unknown0,
2658  DWORD Unknown1);
2659 
2660 BOOL
2661 NTAPI
2663  HWND hWnd,
2664  int X,
2665  int Y,
2666  int nWidth,
2667  int nHeight,
2668  BOOL bRepaint
2669 );
2670 
2671 DWORD
2672 NTAPI
2674  DWORD Unknown0,
2675  DWORD Unknown1,
2676  DWORD Unknown2);
2677 
2678 BOOL
2679 NTAPI
2681  HANDLE NewProcessId,
2682  HANDLE ParentThreadId,
2683  ULONG dwUnknown,
2684  ULONG CreateFlags);
2685 
2686 VOID
2687 NTAPI
2689  DWORD Event,
2690  HWND hWnd,
2691  LONG idObject,
2692  LONG idChild);
2693 
2694 BOOL
2695 NTAPI
2697  HWND hWnd,
2698  DWORD Unknown1);
2699 
2700 HDESK
2701 NTAPI
2704  DWORD dwFlags,
2705  ACCESS_MASK dwDesiredAccess);
2706 
2707 HDESK
2708 NTAPI
2710  DWORD dwFlags,
2711  BOOL fInherit,
2712  ACCESS_MASK dwDesiredAccess);
2713 
2714 HWINSTA
2715 NTAPI
2718  ACCESS_MASK dwDesiredAccess);
2719 
2720 BOOL
2721 NTAPI
2723  HDC hDC);
2724 
2725 DWORD
2726 NTAPI
2728  HWND hWnd,
2729  HDC hDC,
2730  ULONG left, // x,
2731  ULONG right, // width, // Scale the edge thickness, offset?
2732  ULONG top, // y,
2733  BOOL bActive); // DWORD Flags); DC_ACTIVE or WS_ACTIVECAPTION, by checking WNDS_ACTIVEFRAME and foreground.
2734 
2735 BOOL
2736 APIENTRY
2738  PMSG pMsg,
2739  HWND hWnd,
2740  UINT MsgFilterMin,
2741  UINT MsgFilterMax,
2742  UINT RemoveMsg);
2743 
2744 BOOL
2745 NTAPI
2747  HWND hWnd,
2748  UINT Msg,
2749  WPARAM wParam,
2750  LPARAM lParam);
2751 
2752 BOOL
2753 NTAPI
2755  DWORD idThread,
2756  UINT Msg,
2757  WPARAM wParam,
2758  LPARAM lParam);
2759 
2760 BOOL
2761 NTAPI
2763  HWND hwnd,
2764  HDC hdcBlt,
2765  UINT nFlags);
2766 
2767 NTSTATUS
2768 NTAPI
2771  OUT PUSERCONNECT pUserConnect,
2772  IN ULONG Size); /* sizeof(USERCONNECT) */
2773 
2774 NTSTATUS
2775 NTAPI
2777  IN HANDLE ThreadHandle,
2779  OUT PVOID ThreadInformation,
2781 
2782 DWORD
2783 NTAPI
2785  DWORD dwUnknown1,
2786  DWORD dwUnknown2);
2787 
2788 DWORD
2789 NTAPI
2791  DWORD Unknown0);
2792 
2793 DWORD
2794 NTAPI
2796  DWORD Unknown0,
2797  DWORD Unknown1,
2798  DWORD Unknown2,
2799  DWORD Unknown3,
2800  DWORD Unknown4);
2801 
2802 #define QUERY_WINDOW_UNIQUE_PROCESS_ID 0x00
2803 #define QUERY_WINDOW_UNIQUE_THREAD_ID 0x01
2804 #define QUERY_WINDOW_ACTIVE 0x02
2805 #define QUERY_WINDOW_FOCUS 0x03
2806 #define QUERY_WINDOW_ISHUNG 0x04
2807 #define QUERY_WINDOW_REAL_ID 0x05
2808 #define QUERY_WINDOW_FOREGROUND 0x06
2809 #define QUERY_WINDOW_DEFAULT_IME 0x07
2810 #define QUERY_WINDOW_DEFAULT_ICONTEXT 0x08
2811 #define QUERY_WINDOW_ACTIVE_IME 0x09
2812 
2813 DWORD_PTR
2814 NTAPI
2816  HWND hWnd,
2817  DWORD Index);
2818 
2819 BOOL
2820 NTAPI
2822  LPMSG lpMsg,
2823  HWND hWnd,
2824  UINT wMsgFilterMin,
2825  UINT wMsgFilterMax,
2826  UINT wRemoveMsg,
2827  BOOL bGMSG);
2828 
2829 HWND
2830 NTAPI
2832  HWND Parent,
2833  LONG x,
2834  LONG y);
2835 
2836 BOOL
2837 NTAPI
2839  DWORD dwWakeMask,
2840  UINT uTimeout);
2841 
2842 BOOL
2843 NTAPI
2845  HWND hWnd,
2846  CONST RECT *lprcUpdate,
2847  HRGN hrgnUpdate,
2848  UINT flags);
2849 
2850 RTL_ATOM
2851 NTAPI
2853  WNDCLASSEXW* lpwcx,
2854  PUNICODE_STRING pustrClassName,
2855  PUNICODE_STRING pustrCVersion,
2856  PCLSMENUNAME pClassMenuName,
2857  DWORD fnID,
2858  DWORD Flags,
2859  LPDWORD pWow);
2860 
2861 BOOL
2862 NTAPI
2864  IN PCRAWINPUTDEVICE pRawInputDevices,
2865  IN UINT uiNumDevices,
2866  IN UINT cbSize);
2867 
2868 BOOL
2869 NTAPI
2871  PUNICODE_STRING m_dllname1,
2872  PUNICODE_STRING m_funname1,
2873  DWORD dwUnknown3,
2874  DWORD dwUnknown4);
2875 
2876 BOOL
2877 NTAPI
2879  HWND hWnd,
2880  int id,
2881  UINT fsModifiers,
2882  UINT vk);
2883 
2884 DWORD
2885 NTAPI
2887  DWORD Unknown0);
2888 
2889 UINT
2890 NTAPI
2892  PUNICODE_STRING MessageName);
2893 
2894 DWORD
2895 NTAPI
2897  DWORD dwUnknown1,
2898  DWORD dwUnknown2,
2899  DWORD dwUnknown3);
2900 
2901 DWORD
2902 NTAPI
2904  DWORD dwUnknown1,
2905  DWORD dwUnknown2,
2906  DWORD dwUnknown3,
2907  DWORD dwUnknown4);
2908 
2909 DWORD
2910 NTAPI
2912 
2913 DWORD
2914 NTAPI
2916 
2917 HANDLE
2918 NTAPI
2920  HWND hWnd,
2921  ATOM Atom);
2922 
2923 HDESK
2924 NTAPI
2927  IN PUNICODE_STRING DesktopPath,
2928  IN BOOL bInherit,
2929  OUT HWINSTA* phWinSta);
2930 
2931 DWORD
2932 NTAPI
2934  DWORD Unknown0);
2935 
2936 BOOL
2937 NTAPI
2939  HWND hwnd,
2940  int fnBar,
2941  PSBDATA pSBData,
2942  LPSCROLLINFO lpsi);
2943 
2944 BOOL
2945 NTAPI
2947  HDC hDC,
2948  int dx,
2949  int dy,
2950  CONST RECT *lprcScroll,
2951  CONST RECT *lprcClip ,
2952  HRGN hrgnUpdate,
2953  LPRECT lprcUpdate);
2954 
2955 DWORD
2956 NTAPI
2958  HWND hWnd,
2959  INT dx,
2960  INT dy,
2961  const RECT *rect,
2962  const RECT *clipRect,
2963  HRGN hrgnUpdate,
2964  LPRECT rcUpdate,
2965  UINT flags);
2966 
2967 UINT
2968 NTAPI
2970  UINT nInputs,
2971  LPINPUT pInput,
2972  INT cbSize);
2973 
2974 HWND
2975 NTAPI
2977  HWND Wnd);
2978 
2979 DWORD
2980 NTAPI
2982  DWORD dwUnknown1,
2983  DWORD dwUnknown2);
2984 
2985 HWND
2986 NTAPI
2988  HWND Wnd);
2989 
2990 ULONG_PTR
2991 NTAPI
2993  HWND hWnd,
2994  INT Offset,
2995  ULONG_PTR dwNewLong,
2996  BOOL Ansi);
2997 
2998 WORD
2999 NTAPI
3001  HWND hWnd,
3002  INT nIndex,
3003  WORD wNewWord);
3004 
3005 HANDLE
3006 NTAPI
3008  UINT fmt,
3009  HANDLE hMem,
3010  PSETCLIPBDATA scd);
3011 
3012 HWND
3013 NTAPI
3015  HWND hWndNewViewer);
3016 
3017 HPALETTE
3018 NTAPI
3020  HDC hDC,
3021  HPALETTE hpal,
3022  BOOL ForceBackground);
3023 
3024 DWORD
3025 NTAPI
3027  DWORD Unknown0,
3028  DWORD Unknown1);
3029 
3030 HCURSOR
3031 NTAPI
3033  HCURSOR hCursor);
3034 
3035 BOOL
3036 NTAPI
3038  HANDLE Handle,
3040 
3041 BOOL
3042 NTAPI
3044  _In_ HCURSOR hCursor,
3045  _In_opt_ PUNICODE_STRING pustrModule,
3046  _In_opt_ PUNICODE_STRING puSrcName,
3047  _In_ const CURSORDATA *pCursorData);
3048 
3050 {
3055 
3056 HICON
3057 NTAPI
3059  _In_ PUNICODE_STRING pustrModule,
3060  _In_ PUNICODE_STRING pustrRsrc,
3062 
3063 DWORD
3064 NTAPI
3066  DWORD Unknown0,
3067  DWORD Unknown1);
3068 
3069 DWORD
3070 APIENTRY
3072  DWORD Unknown0);
3073 
3074 HWND
3075 NTAPI
3077  HWND hWnd);
3078 
3079 DWORD
3080 NTAPI
3082  DWORD Unknown0,
3083  DWORD Unknown1,
3084  DWORD Unknown2,
3085  DWORD Unknown3,
3086  DWORD Unknown4);
3087 
3088 DWORD
3089 NTAPI
3091  PIMEINFOEX pImeInfoEx);
3092 
3093 DWORD
3094 NTAPI
3096  DWORD Unknown0,
3097  DWORD Unknown1);
3098 
3099 DWORD
3100 NTAPI
3102  DWORD dwUnknown1,
3103  DWORD dwUnknown2,
3104  DWORD dwUnknown3,
3105  DWORD dwUnknown4);
3106 
3107 NTSTATUS
3108 NTAPI
3110  IN HANDLE ThreadHandle,
3112  IN PVOID ThreadInformation,
3114 
3115 DWORD
3116 NTAPI
3118  HWND hwnd,
3119  UINT showCmd,
3120  LPRECT rect,
3121  LPPOINT pt);
3122 
3123 BOOL
3124 NTAPI
3126  LPBYTE lpKeyState);
3127 
3128 BOOL
3129 NTAPI
3131  HWND hwnd,
3132  COLORREF crKey,
3133  BYTE bAlpha,
3134  DWORD dwFlags);
3135 
3136 BOOL
3137 NTAPI
3139  HWND hWnd);
3140 
3141 BOOL
3142 NTAPI
3144  HANDLE hObject,
3145  DWORD nIndex,
3146  PVOID pvInformation,
3147  DWORD nLength);
3148 
3149 HWND
3150 NTAPI
3152  HWND hWndChild,
3153  HWND hWndNewParent);
3154 
3155 BOOL
3156 NTAPI
3158  HWINSTA hWindowStation);
3159 
3160 BOOL
3161 NTAPI
3163  HWND hWnd,
3164  ATOM Atom,
3165  HANDLE Data);
3166 
3167 DWORD
3168 NTAPI
3170  DWORD Unknown0);
3171 
3172 DWORD
3173 NTAPI
3175  HWND hwnd,
3176  int fnBar,
3177  LPCSCROLLINFO lpsi,
3178  BOOL bRedraw);
3179 
3180 BOOL
3181 NTAPI
3183  HWND hwndShell,
3184  HWND hwndShellListView);
3185 
3186 BOOL
3187 NTAPI
3189  int cElements,
3190  IN CONST INT *lpaElements,
3191  IN CONST COLORREF *lpaRgbValues,
3192  FLONG Flags);
3193 
3194 BOOL
3195 NTAPI
3197  HCURSOR hcur,
3198  DWORD id);
3199 
3200 BOOL
3201 NTAPI
3203  HDESK hDesktop);
3204 
3205 DWORD
3206 NTAPI
3208  DWORD Unknown0,
3209  DWORD Unknown1);
3210 
3211 UINT_PTR
3212 NTAPI
3214  HWND hWnd,
3215  UINT_PTR nIDEvent,
3216  UINT uElapse,
3217  TIMERPROC lpTimerFunc);
3218 
3219 DWORD
3220 NTAPI
3222  DWORD dwUnknown1,
3223  DWORD dwUnknown2);
3224 
3225 UINT_PTR
3226 NTAPI
3228  HWND hWnd,
3229  UINT_PTR nIDEvent,
3230  UINT uElapse,
3231  TIMERPROC lpTimerFunc);
3232 
3233 BOOL
3234 NTAPI
3236  HWND hWnd,
3237  WORD fnID);
3238 
3239 LONG
3240 NTAPI
3242  HWND hWnd,
3243  DWORD Index,
3244  LONG NewValue,
3245  BOOL Ansi);
3246 
3247 #ifdef _WIN64
3248 LONG_PTR
3249 NTAPI
3250 NtUserSetWindowLongPtr(
3251  HWND hWnd,
3252  DWORD Index,
3253  LONG_PTR NewValue,
3254  BOOL Ansi);
3255 #endif // _WIN64
3256 
3257 BOOL
3258 NTAPI
3260  HWND hWnd,
3261  WINDOWPLACEMENT *lpwndpl);
3262 
3263 BOOL
3264 NTAPI
3266  HWND hWnd,
3267  HWND hWndInsertAfter,
3268  int X,
3269  int Y,
3270  int cx,
3271  int cy,
3272  UINT uFlags);
3273 
3274 INT
3275 NTAPI
3277  HWND hWnd,
3278  HRGN hRgn,
3279  BOOL bRedraw);
3280 
3281 HHOOK
3282 NTAPI
3284  int idHook,
3285  HOOKPROC lpfn,
3286  BOOL Ansi);
3287 
3288 HHOOK
3289 NTAPI
3291  HINSTANCE Mod,
3293  DWORD ThreadId,
3294  int HookId,
3295  HOOKPROC HookProc,
3296  BOOL Ansi);
3297 
3298 BOOL
3299 NTAPI
3301  IN HWINSTA hWindowStation,
3302  IN PLUID pluid,
3303  IN PSID psid OPTIONAL,
3304  IN DWORD size);
3305 
3306 WORD
3307 NTAPI
3309  HWND hWnd,
3310  INT Index,
3311  WORD NewVal);
3312 
3314 NTAPI
3316  UINT eventMin,
3317  UINT eventMax,
3318  HMODULE hmodWinEventProc,
3319  PUNICODE_STRING puString,
3320  WINEVENTPROC lpfnWinEventProc,
3321  DWORD idProcess,
3322  DWORD idThread,
3323  UINT dwflags);
3324 
3325 BOOL
3326 NTAPI
3328  HWND hWnd);
3329 
3330 BOOL
3331 NTAPI
3333  HWND hWnd);
3334 
3335 DWORD
3336 NTAPI
3338  HWND hWnd,
3339  int wBar,
3340  DWORD bShow);
3341 
3342 BOOL
3343 NTAPI
3345  HWND hWnd,
3346  LONG nCmdShow);
3347 
3348 BOOL
3349 NTAPI
3351  HWND hWnd,
3352  LONG nCmdShow);
3353 
3354 BOOL
3355 NTAPI
3357 
3358 BOOL
3359 NTAPI
3361  HDESK hDesktop);
3362 
3363 BOOL
3364 NTAPI
3366  UINT uiAction,
3367  UINT uiParam,
3368  PVOID pvParam,
3369  UINT fWinIni);
3370 
3371 DWORD
3372 NTAPI
3374  DWORD dwUnknown1);
3375 
3376 INT
3377 NTAPI
3379  UINT wVirtKey,
3380  UINT wScanCode,
3381  PBYTE lpKeyState,
3382  LPWSTR pwszBuff,
3383  int cchBuff,
3384  UINT wFlags,
3385  HKL dwhkl);
3386 
3387 BOOL
3388 NTAPI
3390  LPTRACKMOUSEEVENT lpEventTrack);
3391 
3392 int
3393 NTAPI
3395  HWND Window,
3396  HACCEL Table,
3397  LPMSG Message);
3398 
3399 BOOL
3400 NTAPI
3402  LPMSG lpMsg,
3403  UINT flags );
3404 
3405 BOOL
3406 NTAPI
3408  HHOOK Hook);
3409 
3410 BOOL
3411 NTAPI
3413  HWINEVENTHOOK hWinEventHook);
3414 
3415 BOOL
3416 NTAPI
3418  HKL hKl);
3419 
3420 BOOL
3421 NTAPI
3423  HWINSTA hWindowStation);
3424 
3425 BOOL
3426 NTAPI
3428  PUNICODE_STRING ClassNameOrAtom,
3430  PCLSMENUNAME pClassMenuName);
3431 
3432 BOOL
3433 NTAPI
3435  HWND hWnd,
3436  int id);
3437 
3438 BOOL
3439 NTAPI
3441 
3442 DWORD
3443 NTAPI
3445  DWORD Unknown0,
3446  DWORD Unknown1,
3447  DWORD Unknown2);
3448 
3449 DWORD
3450 NTAPI
3452  DWORD Unknown0,
3453  DWORD Unknown1,
3454  DWORD Unknown2);
3455 
3456 BOOL
3457 NTAPI
3459  HWND hwnd,
3460  HDC hdcDst,
3461  POINT *pptDst,
3462  SIZE *psize,
3463  HDC hdcSrc,
3464  POINT *pptSrc,
3465  COLORREF crKey,
3466  BLENDFUNCTION *pblend,
3467  DWORD dwFlags,
3468  RECT *prcDirty);
3469 
3470 BOOL
3471 NTAPI
3473  DWORD dwReserved,
3474  BOOL bEnable);
3475 
3476 BOOL
3477 NTAPI
3479  IN HANDLE hUserHandle,
3480  IN HANDLE hJob,
3481  IN BOOL bGrant);
3482 
3483 BOOL
3484 NTAPI
3486  HANDLE hHdl);
3487 
3488 BOOL
3489 NTAPI
3491  HWND hWnd,
3492  CONST RECT *lpRect);
3493 
3494 BOOL
3495 APIENTRY
3497  LPARAM lParam);
3498 
3499 DWORD
3500 NTAPI
3502  WCHAR wChar,
3504  BOOL bUsehHK);
3505 
3506 DWORD
3507 NTAPI
3509  IN HANDLE hProcess,
3510  IN DWORD dwMilliseconds,
3511  IN BOOL bSharedWow); /* Always FALSE */
3512 
3513 DWORD
3514 NTAPI
3516  DWORD Unknown0);
3517 
3518 BOOL
3519 NTAPI
3521 
3522 DWORD
3523 NTAPI
3525  DWORD Unknown0,
3526  DWORD Unknown1,
3527  DWORD Unknown2,
3528  DWORD Unknown3,
3529  DWORD Unknown4,
3530  DWORD Unknown5);
3531 
3532 HWND
3533 NTAPI
3535  LONG X,
3536  LONG Y);
3537 
3538 DWORD
3539 NTAPI
3541 
3542 /* NtUserBad
3543  * ReactOS-specific NtUser calls and their related structures, both which shouldn't exist.
3544  */
3545 
3546 #define NOPARAM_ROUTINE_ISCONSOLEMODE 0xffff0001
3547 #define ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING 0xfffe000d
3548 #define ONEPARAM_ROUTINE_GETDESKTOPMAPPING 0xfffe000e
3549 #define TWOPARAM_ROUTINE_SETMENUBARHEIGHT 0xfffd0050
3550 #define TWOPARAM_ROUTINE_SETGUITHRDHANDLE 0xfffd0051
3551 #define HWNDLOCK_ROUTINE_SETFOREGROUNDWINDOWMOUSE 0xfffd0052
3552 
3553 #define MSQ_STATE_CAPTURE 0x1
3554 #define MSQ_STATE_ACTIVE 0x2
3555 #define MSQ_STATE_FOCUS 0x3
3556 #define MSQ_STATE_MENUOWNER 0x4
3557 #define MSQ_STATE_MOVESIZE 0x5
3558 #define MSQ_STATE_CARET 0x6
3559 
3560 #define TWOPARAM_ROUTINE_ROS_UPDATEUISTATE 0x1004
3561 #define HWNDPARAM_ROUTINE_ROS_NOTIFYWINEVENT 0x1005
3562 
3563 BOOL
3564 NTAPI
3566  IN HMONITOR hMonitor,
3567  OUT LPMONITORINFO pMonitorInfo);
3568 
3569 /* Should be done in usermode */
3570 
3571 HMONITOR
3572 NTAPI
3574  IN POINT point,
3575  IN DWORD dwFlags);
3576 
3577 HMONITOR
3578 NTAPI
3580  IN LPCRECT pRect,
3581  IN DWORD dwFlags);
3582 
3583 HMONITOR
3584 NTAPI
3586  IN HWND hWnd,
3587  IN DWORD dwFlags);
3588 
3589 typedef struct _SETSCROLLBARINFO
3590 {
3595 
3596 BOOL
3597 NTAPI
3599  HWND hwnd,
3600  LONG idObject,
3602 
3603 #endif /* __WIN32K_NTUSER_H */
3604 
3605 /* EOF */
ULONG fFreed
Definition: ntuser.h:429
ULONG bAnsi
Definition: ntuser.h:96
struct tagOEMBITMAPINFO OEMBITMAPINFO
INT aiSysMet[SM_CMETRICS]
Definition: ntuser.h:962
WCHAR szName[16]
Definition: ntuser.h:938
WND wnd
Definition: ntuser.h:743
HKL NTAPI NtUserGetKeyboardLayout(DWORD dwThreadid)
DWORD_PTR dwMenuData
Definition: ntuser.h:398
VOID NTAPI RtlInitLargeUnicodeString(IN OUT PLARGE_UNICODE_STRING, IN PCWSTR, IN INT)
Definition: rtlstr.c:42
DWORD NTAPI NtUserCallHwndParam(HWND hWnd, DWORD_PTR Param, DWORD Routine)
Definition: simplecall.c:755
BOOL NTAPI NtUserPostThreadMessage(DWORD idThread, UINT Msg, WPARAM wParam, LPARAM lParam)
Definition: message.c:2242
HANDLE NTAPI NtUserRemoveProp(HWND hWnd, ATOM Atom)
HBITMAP hbmAlpha
Definition: ntuser.h:1133
signed char * PCHAR
Definition: retypes.h:7
INT cxBmp
Definition: ntuser.h:357
UINT NTAPI NtUserEnableMenuItem(HMENU hMenu, UINT uIDEnableItem, UINT uEnable)
Definition: menu.c:5856
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:2083
UINT uiShellMsg
Definition: ntuser.h:1016
ULONG_PTR cHandleEntries
Definition: ntuser.h:1005
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:2426
CONST char * PCSZ
Definition: umtypes.h:125
UINT_PTR NTAPI NtUserSetTimer(HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc)
Definition: timer.c:630
struct tagHOOK HOOK
HMENU NTAPI NtUserGetSystemMenu(HWND hWnd, BOOL bRevert)
Definition: menu.c:5661
HWND hWnd
Definition: ntuser.h:405
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:35
ULONG fsHooks
Definition: ntuser.h:296
HFONT hMsgFont
Definition: ntuser.h:947
POINT MaxPos
Definition: ntuser.h:716
struct tagMBSTRING * PMBSTRING
BOOL NTAPI NtUserTrackMouseEvent(LPTRACKMOUSEEVENT lpEventTrack)
Definition: mouse.c:482
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
BOOL NTAPI NtUserGetCaretPos(LPPOINT lpPoint)
Definition: caret.c:398
const uint16_t * PCWSTR
Definition: typedefs.h:57
DWORD dwReserved
Definition: ntuser.h:744
#define IN
Definition: typedefs.h:39
CALLBACKWND CallbackWnd
Definition: ntuser.h:297
GLint GLint GLsizei width
Definition: gl.h:1546
#define LONG_PTR
Definition: treelist.c:79
DWORD_PTR dwItemData
Definition: ntuser.h:348
return
Definition: dirsup.c:529
struct _CLSMENUNAME CLSMENUNAME
BOOL NTAPI NtUserRegisterUserApiHook(PUNICODE_STRING m_dllname1, PUNICODE_STRING m_funname1, DWORD dwUnknown3, DWORD dwUnknown4)
Definition: hook.c:1724
ULONG Win32ClientInfo3[26]
Definition: ntuser.h:312
WORD fsWakeBitsJournal
Definition: ntuser.h:168
DWORD ExStyle
Definition: ntuser.h:668
PVOID pSelf
Definition: ntuser.h:190
ASMGENDATA Table[]
Definition: genincdata.c:61
static HICON
Definition: imagelist.c:84
UINT wID
Definition: ntuser.h:342
_GETCPD
Definition: ntuser.h:506
INT cInDDEMLCallback
Definition: ntuser.h:299
WNDPROC pfnStaticWndProc
Definition: ntuser.h:772
INT cpxThumb
Definition: ntuser.h:496
DWORD dwProdVersion
Definition: ntuser.h:1166
LPWSTR lpName
Definition: ntuser.h:1124
DWORD NTAPI NtUserDdeInitialize(DWORD Unknown0, DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
Definition: dde.c:465
HWND hTaskManWindow
Definition: ntuser.h:140
USHORT BitCount
Definition: ntuser.h:989
UINT HideFocus
Definition: ntuser.h:722
struct _DESKTOP * rpdeskParent
Definition: ntuser.h:539
struct _WND * spwndPopupMenu
Definition: ntuser.h:438
INT fCUASLayer
Definition: ntuser.h:1173
unsigned short RTL_ATOM
Definition: atom.c:42
ULONG CURSORF_flags
Definition: ntuser.h:1128
INT page
Definition: ntuser.h:490
LIST_ENTRY ThreadListEntry
Definition: ntuser.h:728
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES IN DWORD Unknown3
Definition: conport.c:35
struct _CALLBACKWND * PCALLBACKWND
struct _CLIENTTHREADINFO CLIENTTHREADINFO
struct _USER_HANDLE_TABLE USER_HANDLE_TABLE
BOOL NTAPI NtUserNotifyProcessCreate(HANDLE NewProcessId, HANDLE ParentThreadId, ULONG dwUnknown, ULONG CreateFlags)
Definition: ntstubs.c:516
WNDPROC pfnClientPrevious
Definition: ntuser.h:520
INT fSysWow64Only
Definition: ntuser.h:1172
struct _DESKTOPINFO DESKTOPINFO
DWORD_PTR NTAPI NtUserGetThreadState(DWORD Routine)
Definition: misc.c:231
_Must_inspect_result_ _Out_ LPSIZE psize
Definition: ntgdi.h:1569
HDESK NTAPI NtUserOpenInputDesktop(DWORD dwFlags, BOOL fInherit, ACCESS_MASK dwDesiredAccess)
Definition: desktop.c:2637
struct _DESKTOP * rpdesk
Definition: ntuser.h:189
BOOL NTAPI NtUserDdeSetQualityOfService(IN HWND hwndClient, IN PSECURITY_QUALITY_OF_SERVICE pqosNew, OUT PSECURITY_QUALITY_OF_SERVICE pqosPrev)
Definition: dde.c:442
struct _DESKTOP_CONSOLE_THREAD DESKTOP_CONSOLE_THREAD
DWORD NTAPI NtUserWaitForInputIdle(IN HANDLE hProcess, IN DWORD dwMilliseconds, IN BOOL bSharedWow)
Definition: message.c:3056
INT fInitOpen
Definition: ntuser.h:1164
DPISERVERINFO dpiSystem
Definition: ntuser.h:981
#define FNID_NUMSERVERPROC
Definition: ntuser.h:856
ULONG fToggle
Definition: ntuser.h:418
DWORD NTAPI NtUserRemoteRedrawScreen(VOID)
Definition: ntstubs.c:919
enum _CONSOLECONTROL CONSOLECONTROL
ULONG PropListItems
Definition: ntuser.h:688
HBRUSH hbrBack
Definition: ntuser.h:399
DWORD NTAPI NtUserDragObject(HWND hwnd1, HWND hwnd2, UINT u1, DWORD dw1, HCURSOR hc1)
Definition: ntstubs.c:71
DWORD ExStyle2
Definition: ntuser.h:709
static HMENU hmenu
Definition: win.c:66
DWORD fsHooks
Definition: ntuser.h:137
#define Y(I)
HWND NTAPI NtUserSetCapture(HWND Wnd)
Definition: focus.c:1587
_Out_opt_ PICONINFO _Inout_opt_ PUNICODE_STRING lpInstName
Definition: ntuser.h:2275
struct tagMENULIST * PMENULIST
ULONG fIsSysMenu
Definition: ntuser.h:413
struct _THREADINFO * pti
Definition: ntuser.h:25
struct _CLS CLS
HANDLE hLocale
Definition: ntuser.h:1110
struct tagDDEPACK * PDDEPACK
DWORD dwRIPFlags
Definition: ntuser.h:999
DWORD NTAPI NtUserModifyUserStartupInfoFlags(DWORD Unknown0, DWORD Unknown1)
Definition: ntstubs.c:212
ULONG fRightButton
Definition: ntuser.h:417
struct _WNDMSG WNDMSG
DWORD NTAPI NtUserGetListBoxInfo(HWND hWnd)
Definition: window.c:3318
PVOID Buffer
Definition: ntuser.h:97
LPSTR pszClientAnsiMenuName
Definition: ntuser.h:466
enum _CONSOLECONTROL * PCONSOLECONTROL
BOOL NTAPI NtUserThunkedMenuItemInfo(HMENU hMenu, UINT uItem, BOOL fByPosition, BOOL bInsert, LPMENUITEMINFOW lpmii, PUNICODE_STRING lpszCaption)
Definition: menu.c:6556
CHAR acOemToAnsi[256]
Definition: ntuser.h:1022
BOOL NTAPI NtUserDestroyCursor(_In_ HANDLE Handle, _In_ BOOL bForce)
Definition: cursoricon.c:793
UINT Dummy
Definition: ntuser.h:150
BOOL NTAPI NtUserAttachThreadInput(IN DWORD idAttach, IN DWORD idAttachTo, IN BOOL fAttach)
Definition: input.c:664
struct _CLIENTTHREADINFO * PCLIENTTHREADINFO
WORD ATOM
Definition: dimm.idl:113
struct tagMENULIST * pNext
Definition: ntuser.h:365
struct _THROBJHEAD THROBJHEAD
HPALETTE NTAPI NtUserSelectPalette(HDC hDC, HPALETTE hpal, BOOL ForceBackground)
Definition: windc.c:1033
Definition: ftp_var.h:139
HWND NTAPI NtUserGetAncestor(HWND hWnd, UINT Flags)
Definition: window.c:3148
ATOM atomFrostedWindowProp
Definition: ntuser.h:1021
HKL NTAPI NtUserActivateKeyboardLayout(HKL hKl, ULONG Flags)
Definition: kbdlayout.c:705
struct tagCURSORDATA * aspcur
Definition: ntuser.h:1141
#define pt(x, y)
Definition: drawing.c:79
struct _CLIENTINFO CLIENTINFO
WNDPROC pfnGhostWndProc
Definition: ntuser.h:774
LRESULT NTAPI NtUserCallNextHookEx(int Code, WPARAM wParam, LPARAM lParam, BOOL Ansi)
Definition: hook.c:1371
UINT ucWheelScrollLines
Definition: ntuser.h:974
struct tagCURSORDATA * PCURSORDATA
LONG NTAPI NtUserChangeDisplaySettings(PUNICODE_STRING lpszDeviceName, LPDEVMODEW lpDevMode, DWORD dwflags, LPVOID lParam)
Definition: display.c:944
INT page
Definition: ntuser.h:475
DWORD NTAPI NtUserUpdateInputContext(DWORD Unknown0, DWORD Unknown1, DWORD Unknown2)
Definition: ntstubs.c:358
WNDPROC pfnEditWndProc
Definition: ntuser.h:769
UINT NTAPI NtUserGetMenuIndex(HMENU hMenu, HMENU hSubMenu)
Definition: menu.c:6069
uint16_t * PWSTR
Definition: typedefs.h:56
unsigned char type
Definition: ntuser.h:28
HINSTANCE hModule
Definition: ntuser.h:672
BOOL NTAPI NtUserCreateCaret(HWND hWnd, HBITMAP hBitmap, int nWidth, int nHeight)
Definition: caret.c:312
enum _GETCPD GETCPD
BOOL NTAPI NtUserTrackPopupMenuEx(HMENU hmenu, UINT fuFlags, int x, int y, HWND hwnd, LPTPMPARAMS lptpm)
Definition: menu.c:6616
UINT fFreeActiveEvent
Definition: ntuser.h:1200
WNDPROC lpfnWndProc
Definition: ntuser.h:682
struct _USERCONNECT * PUSERCONNECT
HCURSOR NTAPI NtUserSetCursor(HCURSOR hCursor)
Definition: cursoricon.c:1049
BOOL NTAPI NtUserScrollDC(HDC hDC, int dx, int dy, CONST RECT *lprcScroll, CONST RECT *lprcClip, HRGN hrgnUpdate, LPRECT lprcUpdate)
struct _SETSCROLLBARINFO SETSCROLLBARINFO
HINSTANCE hModule
Definition: ntuser.h:552
static DWORD DWORD istep
Definition: cursoricon.c:1638
SBDATA Vert
Definition: ntuser.h:483
BOOL NTAPI NtUserRegisterHotKey(HWND hWnd, int id, UINT fsModifiers, UINT vk)
Definition: hotkey.c:512
GLint dy
Definition: linetemp.h:97
HANDLE h
Definition: ntuser.h:176
BOOL NTAPI NtUserCallMsgFilter(LPMSG msg, INT code)
Definition: message.c:2379
WORD vk
Definition: input.c:77
struct tagIMEINFOEX * PIMEINFOEX
char CHAR
Definition: xmlstorage.h:175
ThreadStateRoutines
Definition: ntuser.h:2450
TW_UINT32 TW_UINT16 TW_UINT16 MSG
Definition: twain.h:1827
LIST_ENTRY ListEntry
Definition: ntuser.h:404
struct tagMENULIST MENULIST
HDESK hDesk
Definition: ntuser.h:1063
WNDPROC_EX pfnStaticWndProc
Definition: ntuser.h:805
DWORD recipients
Definition: ntuser.h:1062
WNDPROC pfnDefWindowProc
Definition: ntuser.h:762
HWND NTAPI NtUserGetClipboardViewer(VOID)
Definition: clipboard.c:797
UINT fState
Definition: ntuser.h:341
struct _PFNCLIENT * PPFNCLIENT
struct _tagFINDEXISTINGCURICONPARAM FINDEXISTINGCURICONPARAM
ULONG fDestroyed
Definition: ntuser.h:426
BOOL NTAPI NtUserUnlockWindowStation(HWINSTA hWindowStation)
Definition: winsta.c:1549
_Out_opt_ PICONINFO _Inout_opt_ PUNICODE_STRING _Inout_opt_ PUNICODE_STRING _Out_opt_ LPDWORD pbpp
Definition: ntuser.h:2275
DWORD NTAPI NtUserCreateInputContext(DWORD dwUnknown1)
Definition: ntstubs.c:428
struct @1607 Msg[]
BOOL NTAPI NtUserCloseClipboard(VOID)
Definition: clipboard.c:586
*nSize LPSTR _Inout_ LPDWORD nSize
Definition: winbase.h:2037
LONG NTSTATUS
Definition: precomp.h:26
struct tagHOOK * phkNext
Definition: ntuser.h:218
DWORD NTAPI NtUserGetInternalWindowPos(HWND hwnd, LPRECT rectWnd, LPPOINT ptIcon)
Definition: winpos.c:3217
PVOID pActCtx
Definition: ntuser.h:274
ULONG ulWidth
Definition: ntuser.h:355
ULONG hTaskWow
Definition: ntuser.h:204
ULONG MaximumLength
Definition: ntuser.h:105
HANDLE HIMC
Definition: ntuser.h:8
DWORD APIENTRY NtUserDbgWin32HeapFail(DWORD Unknown0, DWORD Unknown1)
Definition: ntstubs.c:289
static HDC
Definition: imagelist.c:92
ULONG_PTR CI_flags
Definition: ntuser.h:287
#define CALLBACK
Definition: compat.h:35
_In_ DWORD nLength
Definition: wincon.h:476
struct _REGISTER_SYSCLASS * PREGISTER_SYSCLASS
INT pxRight
Definition: ntuser.h:495
UINT cicur
Definition: ntuser.h:1140
LIST_ENTRY PropListHead
Definition: ntuser.h:687
LPWSTR pwszClientUnicodeMenuName
Definition: ntuser.h:467
HWND hWnd
Definition: settings.c:17
ULONG cch
Definition: ntuser.h:347
ULONG fInCancel
Definition: ntuser.h:430
WNDPROC pfnMessageWindowProc
Definition: ntuser.h:763
UINT Global
Definition: ntuser.h:561
#define CCHILDREN_SCROLLBAR
Definition: winuser.h:3720
struct tagOEMBITMAPINFO * POEMBITMAPINFO
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES IN DWORD IN DWORD IN DWORD IN DWORD Unknown6
Definition: conport.c:35
HKL hKL
Definition: ntuser.h:1190
struct tagIMEINFOEX IMEINFOEX
INT pos
Definition: ntuser.h:476
HANDLE HWND
Definition: compat.h:19
PWND spwnd
Definition: ntuser.h:1187
struct _WND * spwndActivePopup
Definition: ntuser.h:443
PSBINFO pSBInfo
Definition: ntuser.h:690
struct _WND WND
SHORT xHotspot
Definition: ntuser.h:1129
static HRGN hRgn
Definition: mapping.c:33
BOOL NTAPI NtUserGetScrollBarInfo(HWND hWnd, LONG idObject, PSCROLLBARINFO psbi)
Definition: scrollbar.c:1201
ULONG cyItem
Definition: ntuser.h:352
BOOL NTAPI NtUserRegisterRawInputDevices(IN PCRAWINPUTDEVICE pRawInputDevices, IN UINT uiNumDevices, IN UINT cbSize)
Definition: ntstubs.c:666
INT NTAPI NtUserInternalGetWindowText(HWND hWnd, LPWSTR lpString, INT nMaxCount)
Definition: window.c:4326
HMENU SystemMenu
Definition: ntuser.h:692
INT NTAPI NtUserGetPriorityClipboardFormat(UINT *paFormatPriorityList, INT cFormats)
Definition: clipboard.c:820
DWORD_PTR NTAPI NtUserCallOneParam(DWORD_PTR Param, DWORD Routine)
Definition: simplecall.c:145
WNDPROC pfnDialogWndProc
Definition: ntuser.h:768
_Inout_ __drv_aliasesMem PSLIST_ENTRY _Inout_ PSLIST_ENTRY _In_ ULONG Count
Definition: exfuncs.h:1223
HWND NTAPI NtUserChildWindowFromPointEx(HWND Parent, LONG x, LONG y, UINT Flags)
Definition: winpos.c:3126
ULONG yItem
Definition: ntuser.h:350
struct _WND * spwndNotify
Definition: ntuser.h:393
HBRUSH NTAPI NtUserGetControlBrush(HWND hwnd, HDC hdc, UINT ctlType)
Definition: misc.c:182
BOOL TimeToHide
Definition: ntuser.h:406
BOOL NTAPI NtUserPostMessage(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
Definition: message.c:2225
_In_ BOOL _In_ HANDLE hProcess
Definition: mapping.h:70
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
HBITMAP hbmMask
Definition: ntuser.h:1131
BOOL NTAPI NtUserEndDeferWindowPosEx(HDWP WinPosInfo, DWORD Unknown1)
Definition: winpos.c:3147
BOOL NTAPI NtUserCheckWindowThreadDesktop(HWND hwnd, DWORD dwThreadId, ULONG ReturnValue)
DWORD NTAPI NtUserSetImeHotKey(DWORD Unknown0, DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
Definition: ime.c:65
uint32_t * LPUINT
Definition: typedefs.h:59
struct _CURICON_OBJECT * spcur
Definition: ntuser.h:554
ULONG fHierarchyDropped
Definition: ntuser.h:416
struct _SBWND SBWND
BOOL NTAPI NtUserFillWindow(HWND hWndPaint, HWND hWndPaint1, HDC hDC, HBRUSH hBrush)
Definition: painting.c:1690
USHORT dmLogPixels
Definition: ntuser.h:990
BOOL NTAPI NtUserDdeGetQualityOfService(IN HWND hwndClient, IN HWND hWndServer, OUT PSECURITY_QUALITY_OF_SERVICE pqosPrev)
Definition: dde.c:430
ULONG fIsTrackPopup
Definition: ntuser.h:414
DWORD dwExpWinVer
Definition: ntuser.h:289
UINT_PTR WPARAM
Definition: windef.h:207
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:1274
BYTE afAsyncKeyStateRecentDow[8]
Definition: ntuser.h:306
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn BOOLEAN Physical 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:728
DWORD NTAPI NtUserRemoteRedrawRectangle(DWORD dwUnknown1, DWORD dwUnknown2, DWORD dwUnknown3, DWORD dwUnknown4)
Definition: ntstubs.c:907
enum _GETCPD * PGETCPD
RECT rcClient
Definition: ntuser.h:681
BOOL NTAPI NtUserValidateRect(HWND hWnd, CONST RECT *lpRect)
struct _USERCONNECT USERCONNECT
HICON HCURSOR
Definition: windef.h:299
UINT NTAPI NtUserGetCaretBlinkTime(VOID)
Definition: caret.c:383
DWORD NTAPI NtUserCtxDisplayIOCtl(DWORD dwUnknown1, DWORD dwUnknown2, DWORD dwUnknown3)
Definition: ntstubs.c:935
UINT uFlags
Definition: api.c:59
GLdouble u1
Definition: glext.h:8308
static HDC hdcSrc
Definition: xlate.c:32
HIMC hImc
Definition: ntuser.h:704
int32_t INT_PTR
Definition: typedefs.h:64
INT NTAPI NtUserEnumDisplayMonitors(OPTIONAL IN HDC hDC, OPTIONAL IN LPCRECT pRect, OPTIONAL OUT HMONITOR *hMonitorList, OPTIONAL OUT LPRECT monitorRectList, OPTIONAL IN DWORD listSize)
struct _MDIWND * PMDIWND
_Out_opt_ PICONINFO _Inout_opt_ PUNICODE_STRING _Inout_opt_ PUNICODE_STRING lpResName
Definition: ntuser.h:2275
static HWINEVENTHOOK(WINAPI *pSetWinEventHook)(DWORD
char * LPSTR
Definition: xmlstorage.h:182
struct _CLS * pclsClone
Definition: ntuser.h:546
_Out_ RTL_ATOM * Atom
Definition: class.h:54
WNDPROC pfnComboListBoxProc
Definition: ntuser.h:767
_CONSOLECONTROL
Definition: ntuser.h:1774
INT WSBflags
Definition: ntuser.h:481
ATOM atomContextHelpIdProp
Definition: ntuser.h:1020
struct _PFNCLIENT PFNCLIENT
BOOL NTAPI NtUserGetMenuBarInfo(HWND hwnd, LONG idObject, LONG idItem, PMENUBARINFO pmbi)
Definition: menu.c:5914
struct tagPOPUPMENU * PPOPUPMENU
#define BOOL
Definition: nt_native.h:43
HDC NTAPI NtUserGetDC(HWND hWnd)
Definition: windc.c:1013
MENUINFO CONST * LPCMENUINFO
Definition: winuser.h:3719
struct tagSBINFO * PSBINFO
struct _WND * spwndClipboardListener
Definition: ntuser.h:708
#define MAX_MB_STRINGS
Definition: ntuser.h:907
struct _REGISTER_SYSCLASS REGISTER_SYSCLASS
UNICODE_STRING lpstr
Definition: ntuser.h:360
RTL_ATOM atomClassName
Definition: ntuser.h:536
struct _PROCESSINFO * ppi
Definition: ntuser.h:26
BOOL NTAPI NtUserInvalidateRect(HWND hWnd, CONST RECT *lpRect, BOOL bErase)
Definition: painting.c:2532
BOOL NTAPI NtUserGetMonitorInfo(IN HMONITOR hMonitor, OUT LPMONITORINFO pMonitorInfo)
Definition: monitor.c:728
int32_t INT
Definition: typedefs.h:58
WNDMSG awmControl[FNID_LAST - FNID_FIRST]
Definition: ntuser.h:1083
NTSTATUS NTAPI NtUserInitializeClientPfnArrays(PPFNCLIENT pfnClientA, PPFNCLIENT pfnClientW, PPFNCLIENTWORKER pfnClientWorker, HINSTANCE hmodUser)
Definition: ntstubs.c:124
struct _THREADINFO * ptiHooked
Definition: ntuser.h:223
struct _LARGE_ANSI_STRING LARGE_ANSI_STRING
struct tagDPISERVERINFO * PDPISERVERINFO
COLORREF argbSystem[NUM_SYSCOLORS]
Definition: ntuser.h:964
BOOL NTAPI NtUserEnableScrollBar(HWND hWnd, UINT wSBflags, UINT wArrows)
Definition: scrollbar.c:1311
BOOL APIENTRY NtUserPeekMessage(PMSG pMsg, HWND hWnd, UINT MsgFilterMin, UINT MsgFilterMax, UINT RemoveMsg)
Definition: message.c:2337
POINTL point
Definition: edittest.c:50
& rect
Definition: startmenu.cpp:1413
struct _CURICON_OBJECT * spicn
Definition: ntuser.h:553
WPARAM wParam
Definition: combotst.c:138
INT pxTop
Definition: ntuser.h:492
struct _PROCDESKHEAD * PPROCDESKHEAD
DWORD NTAPI NtUserQueryInputContext(DWORD dwUnknown1, DWORD dwUnknown2)
Definition: ntstubs.c:632
UINT NTAPI NtUserSendInput(UINT nInputs, LPINPUT pInput, INT cbSize)
Definition: input.c:707
PIMEUI pimeui
Definition: ntuser.h:1208
_OBI_TYPES
Definition: ntuser.h:925
ATOM atomNVClassName
Definition: ntuser.h:537
struct _SHAREDINFO SHAREDINFO
HFONT hFont
Definition: main.c:53
VOID(CALLBACK * TIMERPROC)(HWND, UINT, UINT_PTR, DWORD)
Definition: winuser.h:2872
struct _BROADCASTPARM BROADCASTPARM
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
BOOL NTAPI NtUserGetObjectInformation(HANDLE hObject, DWORD nIndex, PVOID pvInformation, DWORD nLength, PDWORD nLengthNeeded)
Definition: winsta.c:1063
struct _DESKTOP_CONSOLE_THREAD * PDESKTOP_CONSOLE_THREAD
DWORD NTAPI NtUserGetGuiResources(HANDLE hProcess, DWORD uiFlags)
Definition: misc.c:503
#define _In_opt_
Definition: no_sal2.h:213
LRESULT(CALLBACK * HOOKPROC)(int, WPARAM, LPARAM)
Definition: winuser.h:2874
struct _PROPLISTITEM * PPROPLISTITEM
BOOL NTAPI NtUserEmptyClipboard(VOID)
Definition: clipboard.c:719
struct _SHAREDINFO * PSHAREDINFO
UINT wMaxBtnSize
Definition: ntuser.h:950
DWORD dwLastRITEventTickCount
Definition: ntuser.h:969
SBCALC SBCalc
Definition: ntuser.h:738
HBITMAP hbmUserAlpha
Definition: ntuser.h:1135
struct tagDDEPACK DDEPACK
struct _USER_HANDLE_TABLE * PUSER_HANDLE_TABLE
ULONG fTrackMouseEvent
Definition: ntuser.h:431
struct _THREADINFO * GetW32ThreadInfo(VOID)
Definition: misc.c:779
PCLIENTTHREADINFO pClientThreadInfo
Definition: ntuser.h:300
HBRUSH NTAPI NtUserGetControlColor(HWND hwndParent, HWND hwnd, HDC hdc, UINT CtlMsg)
Definition: misc.c:206
HDESK NTAPI NtUserCreateDesktop(POBJECT_ATTRIBUTES poa, PUNICODE_STRING lpszDesktopDevice, LPDEVMODEW lpdmw, DWORD dwFlags, ACCESS_MASK dwDesiredAccess)
Definition: desktop.c:2483
UINT uStr
Definition: ntuser.h:940
ULONG fShowTimer
Definition: ntuser.h:424
HWINSTA NTAPI NtUserOpenWindowStation(POBJECT_ATTRIBUTES ObjectAttributes, ACCESS_MASK dwDesiredAccess)
uint32_t ULONG_PTR
Definition: typedefs.h:65
struct _CALLPROCDATA * spcpdNext
Definition: ntuser.h:519
GETCPD wType
Definition: ntuser.h:521
OEMBITMAPINFO oembmi[OBI_CTYPES]
Definition: ntuser.h:987
WNDPROC_EX pfnMDIClientWndProc
Definition: ntuser.h:804
HICON hIconSmWindows
Definition: ntuser.h:982
struct _SETSCROLLBARINFO * PSETSCROLLBARINFO
DWORD_PTR NTAPI NtUserQueryWindow(HWND hWnd, DWORD Index)
Definition: window.c:3929
struct tagMENU MENU
HWND NTAPI NtUserSetActiveWindow(HWND Wnd)
Definition: focus.c:1546
WNDMSG DefWindowSpecMsgs
Definition: ntuser.h:1085
SCROLLINFO ScrollInfo
Definition: ntuser.h:569
struct tagHOOK * PHOOK
WNDPROC lpfnWndProc
Definition: ntuser.h:549
_Success_(return !=0) _At_(pustrName -> Buffer, _Out_z_bytecap_post_bytecount_(pustrName->MaximumLength, return *2+2)) ULONG APIENTRY NtUserGetAtomName(_In_ ATOM atom, _Inout_ PUNICODE_STRING pustrName)
Definition: fsctrl.c:3139
ULONG cbwndExtra
Definition: ntuser.h:702
NTSTATUS NTAPI NtUserSetInformationThread(IN HANDLE ThreadHandle, IN USERTHREADINFOCLASS ThreadInformationClass, IN PVOID ThreadInformation, IN ULONG ThreadInformationLength)
Definition: ntstubs.c:699
BOOL NTAPI NtUserCloseDesktop(HDESK hDesktop)
Definition: desktop.c:2677
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
Definition: window.c:28
DWORD CSF_flags
Definition: ntuser.h:541
HINSTANCE hInstance
Definition: charmap.c:20
DWORD NTAPI NtUserGetAppImeLevel(DWORD dwUnknown1)
Definition: ime.c:99
PFNCLIENT apfnClientW
Definition: ntuser.h:1010
PROCDESKHEAD head
Definition: ntuser.h:518
BOOL NTAPI NtUserSwitchDesktop(HDESK hDesktop)
Definition: desktop.c:2888
WNDPROC pfnComboBoxWndProc
Definition: ntuser.h:766
struct _DESKTOP * rpdesk
Definition: ntuser.h:224
DWORD NTAPI NtUserSetImeOwnerWindow(DWORD Unknown0, DWORD Unknown1)
Definition: ime.c:137
unsigned char * LPBYTE
Definition: typedefs.h:53
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
UINT32 void void ** ReturnValue
Definition: acevents.h:214
ULONG ulX
Definition: ntuser.h:354
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
ULONG cxTextAlign
Definition: ntuser.h:392
UINT style
Definition: ntuser.h:548
INT pxDownArrow
Definition: ntuser.h:498
_In_ ULONG _In_ ULONG Offset
Definition: ntddpcm.h:101
struct _CALLPROCDATA CALLPROCDATA
struct _BROADCASTPARM * PBROADCASTPARM
#define FALSE
Definition: types.h:117
DWORD dwSRVIFlags
Definition: ntuser.h:1004
PROCDESKHEAD head
Definition: ntuser.h:385
HANDLE Data
Definition: ntuser.h:1054
DWORD fnid
Definition: ntuser.h:673
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
Definition: mswsock.h:90
PSTR lpszClientAnsiMenuName
Definition: ntuser.h:542
unsigned int BOOL
Definition: ntddk_ex.h:94
BOOL fGlobalHandle
Definition: ntuser.h:1107
WNDPROC pfnListBoxWndProc
Definition: ntuser.h:770
PWSTR lpszClientUnicodeMenuName
Definition: ntuser.h:543
BOOL NTAPI NtUserSetSysColors(int cElements, IN CONST INT *lpaElements, IN CONST COLORREF *lpaRgbValues, FLONG Flags)
Definition: ntstubs.c:311
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:171
struct _THRDESKHEAD * PTHRDESKHEAD
long LONG
Definition: pedump.c:60
LIST_ENTRY PropListEntry
Definition: ntuser.h:1053
BOOL NTAPI NtUserTranslateMessage(LPMSG lpMsg, UINT flags)
Definition: message.c:2449
DWORD NTAPI NtUserQueryUserCounters(DWORD Unknown0, DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
Definition: ntstubs.c:223
HWND hwndUI
Definition: ntuser.h:1191