ReactOS  0.4.15-dev-4863-gba0d16f
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 
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 
16 typedef 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 
30 typedef struct _USER_HANDLE_TABLE
31 {
37 
38 typedef enum _HANDLE_TYPE
39 {
40  TYPE_FREE = 0,
42  TYPE_MENU = 2,
45  TYPE_HOOK = 5,
56  TYPE_TIMER = 16,
65 
67 {
80 
81 typedef struct _LARGE_UNICODE_STRING
82 {
88 
89 typedef struct _LARGE_STRING
90 {
96 
97 
98 /* Based on ANSI_STRING */
99 typedef struct _LARGE_ANSI_STRING
100 {
106 
107 VOID
108 NTAPI
111  IN PCSZ,
112  IN INT);
113 
114 VOID
115 NTAPI
118  IN PCWSTR,
119  IN INT);
120 
121 BOOL
122 NTAPI
125  PLARGE_STRING);
126 
127 #define NB_HOOKS (WH_MAXHOOK - WH_MINHOOK + 1)
128 
129 typedef struct _DESKTOPINFO
130 {
133  struct _WND *spwnd;
136 
140  struct _WND *spwndShell;
141  struct _WND *spwndBkGnd;
142 
144 
145  union
146  {
148  struct
149  {
151  };
152  };
153 
156 
157 #define CTI_THREADSYSLOCK 0x0001
158 #define CTI_INSENDMESSAGE 0x0002
159 
160 typedef struct _CLIENTTHREADINFO
161 {
167  ULONG timeLastRead; // Last time the message queue was read.
170 
171 typedef struct _HEAD
172 {
175 } HEAD, *PHEAD;
176 
177 typedef struct _THROBJHEAD
178 {
180  struct _THREADINFO *pti;
182 
183 typedef struct _THRDESKHEAD
184 {
186  struct _DESKTOP *rpdesk;
189 
190 typedef struct tagIMC
191 {
193  struct tagIMC *pImcNext;
196 } IMC, *PIMC;
197 
198 #ifndef _WIN64
199 C_ASSERT(offsetof(IMC, head.h) == 0x0);
200 C_ASSERT(offsetof(IMC, head.cLockObj) == 0x4);
201 C_ASSERT(offsetof(IMC, head.pti) == 0x8);
202 C_ASSERT(offsetof(IMC, pImcNext) == 0x14);
204 C_ASSERT(offsetof(IMC, hImeWnd) == 0x1c);
205 #endif
206 
207 typedef struct _PROCDESKHEAD
208 {
211  struct _DESKTOP *rpdesk;
214 
215 typedef struct _PROCMARKHEAD
216 {
219  struct _PROCESSINFO *ppi;
221 
222 #define UserHMGetHandle(obj) ((obj)->head.h)
223 
224 /* Window Client Information structure */
225 struct _ETHREAD;
226 
227 #define WEF_SETBYWNDPTI 0x0001
228 
229 typedef struct tagHOOK
230 {
232  struct tagHOOK *phkNext; /* This is for user space. */
233  int HookId; /* Hook table index */
235  ULONG flags; /* Some internal flags */
238  struct _DESKTOP *rpdesk;
239  /* ReactOS */
240  LIST_ENTRY Chain; /* Hook chain entry */
241  HOOKPROC Proc; /* Hook function */
242  BOOLEAN Ansi; /* Is it an Ansi hook? */
243  UNICODE_STRING ModuleName; /* Module name for global hooks */
244 } HOOK, *PHOOK;
245 
246 typedef struct tagCLIPBOARDDATA
247 {
250  BYTE Data[0];
252 
253 /* THREADINFO Flags */
254 #define TIF_INCLEANUP 0x00000001
255 #define TIF_16BIT 0x00000002
256 #define TIF_SYSTEMTHREAD 0x00000004
257 #define TIF_CSRSSTHREAD 0x00000008
258 #define TIF_TRACKRECTVISIBLE 0x00000010
259 #define TIF_ALLOWFOREGROUNDACTIVATE 0x00000020
260 #define TIF_DONTATTACHQUEUE 0x00000040
261 #define TIF_DONTJOURNALATTACH 0x00000080
262 #define TIF_WOW64 0x00000100
263 #define TIF_INACTIVATEAPPMSG 0x00000200
264 #define TIF_SPINNING 0x00000400
265 #define TIF_PALETTEAWARE 0x00000800
266 #define TIF_SHAREDWOW 0x00001000
267 #define TIF_FIRSTIDLE 0x00002000
268 #define TIF_WAITFORINPUTIDLE 0x00004000
269 #define TIF_MOVESIZETRACKING 0x00008000
270 #define TIF_VDMAPP 0x00010000
271 #define TIF_DOSEMULATOR 0x00020000
272 #define TIF_GLOBALHOOKER 0x00040000
273 #define TIF_DELAYEDEVENT 0x00080000
274 #define TIF_MSGPOSCHANGED 0x00100000
275 #define TIF_SHUTDOWNCOMPLETE 0x00200000
276 #define TIF_IGNOREPLAYBACKDELAY 0x00400000
277 #define TIF_ALLOWOTHERACCOUNTHOOK 0x00800000
278 #define TIF_GUITHREADINITIALIZED 0x02000000
279 #define TIF_DISABLEIME 0x04000000
280 #define TIF_INGETTEXTLENGTH 0x08000000
281 #define TIF_ANSILENGTH 0x10000000
282 #define TIF_DISABLEHOOKS 0x20000000
283 
284 typedef struct _CALLBACKWND
285 {
287  struct _WND *pWnd;
290 
291 #define CI_TRANSACTION 0x00000001
292 #define CI_QUEUEMSG 0x00000002
293 #define CI_WOW 0x00000004
294 #define CI_INITTHREAD 0x00000008
295 #define CI_CURTHPRHOOK 0x00000010
296 #define CI_CLASSESREGISTERED 0x00000020
297 #define CI_IMMACTIVATE 0x00000040
298 #define CI_TFSDISABLED 0x00000400
299 
300 typedef struct _CLIENTINFO
301 {
307  DWORD dwTIFlags; /* ThreadInfo TIF_Xxx flags for User space. */
328 /* It's just a pointer reference not to be used w the structure in user space. */
329  struct _PROCESSINFO *ppi;
331 
332 /* Make sure it fits into the TEB */
333 C_ASSERT(sizeof(CLIENTINFO) <= sizeof(((PTEB)0)->Win32ClientInfo));
334 
335 #define GetWin32ClientInfo() ((PCLIENTINFO)(NtCurrentTeb()->Win32ClientInfo))
336 
337 typedef struct tagDDEPACK
338 {
341 } DDEPACK, *PDDEPACK;
342 
343 #define HRGN_NULL ((HRGN)0) /* NULL empty region */
344 #define HRGN_WINDOW ((HRGN)1) /* region from window rcWindow */
345 #define HRGN_MONITOR ((HRGN)2) /* region from monitor region. */
346 
347 /* Menu Item fType. */
348 #define MFT_RTOL 0x6000
349 
350 /* Menu Item fState. */
351 #define MFS_HBMMENUBMP 0x20000000
352 
353 typedef struct tagITEM
354 {
358  struct tagMENU *spSubMenu; /* Pop-up menu. */
361  USHORT *Xlpstr; /* Item text pointer. */
364  ULONG xItem; /* Item position. left */
365  ULONG yItem; /* " top */
366  ULONG cxItem; /* Item Size Width */
367  ULONG cyItem; /* " Height */
368  ULONG dxTab; /* X position of text after Tab */
369  ULONG ulX; /* underline.. start position */
370  ULONG ulWidth; /* underline.. width */
371  HBITMAP hbmp; /* bitmap */
372  INT cxBmp; /* Width Maximum size of the bitmap items in MIIM_BITMAP state */
373  INT cyBmp; /* Height " */
374  /* ReactOS */
376 } ITEM, *PITEM;
377 
378 typedef struct tagMENULIST
379 {
381  struct tagMENU *pMenu;
382 } MENULIST, *PMENULIST;
383 
384 /* Menu fFlags, upper byte is MNS_X style flags. */
385 #define MNF_POPUP 0x0001
386 #define MNF_UNDERLINE 0x0004
387 #define MNF_INACTIVE 0x0010
388 #define MNF_RTOL 0x0020
389 #define MNF_DESKTOPMN 0x0040
390 #define MNF_SYSDESKMN 0x0080
391 #define MNF_SYSSUBMENU 0x0100
392 /* Hack */
393 #define MNF_SYSMENU 0x0200
394 
395 /* (other FocusedItem values give the position of the focused item) */
396 #define NO_SELECTED_ITEM 0xffff
397 
398 typedef struct tagMENU
399 {
401  ULONG fFlags; /* [Style flags | Menu flags] */
402  INT iItem; /* nPos of selected item, if -1 not selected. AKA focused item */
403  UINT cAlloced; /* Number of allocated items. Inc's of 8 */
404  UINT cItems; /* Number of items in the menu */
405  ULONG cxMenu; /* Width of the whole menu */
406  ULONG cyMenu; /* Height of the whole menu */
407  ULONG cxTextAlign; /* Offset of text when items have both bitmaps and text */
408  struct _WND *spwndNotify; /* window receiving the messages for ownerdraw */
409  PITEM rgItems; /* Array of menu items */
410  struct tagMENULIST *pParentMenus; /* If this is SubMenu, list of parents. */
412  ULONG cyMax; /* max height of the whole menu, 0 is screen height */
413  DWORD_PTR dwMenuData; /* application defined value */
414  HBRUSH hbrBack; /* brush for menu background */
415  INT iTop; /* Current scroll position Top */
416  INT iMaxTop; /* Current scroll position Max Top */
417  DWORD dwArrowsOn:2; /* Arrows: 0 off, 1 on, 2 to the top, 3 to the bottom. */
418  /* ReactOS */
420  HWND hWnd; /* Window containing the menu, use POPUPMENU */
422 } MENU, *PMENU;
423 
424 typedef struct tagPOPUPMENU
425 {
449  // ULONG fDesktopMenu:1;
452  struct _WND *spwndNotify;
464 
465 typedef struct _REGISTER_SYSCLASS
466 {
467  /* This is a reactos specific class used to initialize the
468  system window classes during user32 initialization */
474  HBRUSH hBrush;
478 
479 typedef struct _CLSMENUNAME
480 {
485 
486 typedef struct tagSBDATA
487 {
492 } SBDATA, *PSBDATA;
493 
494 typedef struct tagSBINFO
495 {
499 } SBINFO, *PSBINFO;
500 
501 typedef struct tagSBCALC
502 {
519 } SBCALC, *PSBCALC;
520 
521 typedef enum _GETCPD
522 {
523  UserGetCPDA2U = 0x01, /* " Unicode " */
524  UserGetCPDU2A = 0X02, /* " Ansi " */
529 } GETCPD, *PGETCPD;
530 
531 typedef struct _CALLPROCDATA
532 {
538 
539 #define CSF_SERVERSIDEPROC 0x0001
540 #define CSF_ANSIPROC 0x0002
541 #define CSF_WOWDEFERDESTROY 0x0004
542 #define CSF_SYSTEMCLASS 0x0008
543 #define CSF_WOWCLASS 0x0010
544 #define CSF_WOWEXTRA 0x0020
545 #define CSF_CACHEDSMICON 0x0040
546 #define CSF_WIN40COMPAT 0x0080
547 
548 typedef struct _CLS
549 {
550  struct _CLS *pclsNext;
557  PSTR lpszClientAnsiMenuName; /* For client use */
560  struct _CLS *pclsBase;
561  struct _CLS *pclsClone;
571  PWSTR lpszMenuName; /* kernel use */
575  UINT Unicode:1; // !CSF_ANSIPROC
576  UINT Global:1; // CS_GLOBALCLASS or CSF_SERVERSIDEPROC
579 } CLS, *PCLS;
580 
581 typedef struct _SBINFOEX
582 {
585 } SBINFOEX, *PSBINFOEX;
586 
587 /* State Flags !Not ALL Implemented! */
588 #define WNDS_HASMENU 0X00000001
589 #define WNDS_HASVERTICALSCROOLLBAR 0X00000002
590 #define WNDS_HASHORIZONTALSCROLLBAR 0X00000004
591 #define WNDS_HASCAPTION 0X00000008
592 #define WNDS_SENDSIZEMOVEMSGS 0X00000010
593 #define WNDS_MSGBOX 0X00000020
594 #define WNDS_ACTIVEFRAME 0X00000040
595 #define WNDS_HASSPB 0X00000080
596 #define WNDS_NONCPAINT 0X00000100
597 #define WNDS_SENDERASEBACKGROUND 0X00000200
598 #define WNDS_ERASEBACKGROUND 0X00000400
599 #define WNDS_SENDNCPAINT 0X00000800
600 #define WNDS_INTERNALPAINT 0X00001000
601 #define WNDS_UPDATEDIRTY 0X00002000
602 #define WNDS_HIDDENPOPUP 0X00004000
603 #define WNDS_FORCEMENUDRAW 0X00008000
604 #define WNDS_DIALOGWINDOW 0X00010000
605 #define WNDS_HASCREATESTRUCTNAME 0X00020000
606 #define WNDS_SERVERSIDEWINDOWPROC 0x00040000 /* Call proc inside win32k. */
607 #define WNDS_ANSIWINDOWPROC 0x00080000
608 #define WNDS_BEINGACTIVATED 0x00100000
609 #define WNDS_HASPALETTE 0x00200000
610 #define WNDS_PAINTNOTPROCESSED 0x00400000
611 #define WNDS_SYNCPAINTPENDING 0x00800000
612 #define WNDS_RECEIVEDQUERYSUSPENDMSG 0x01000000
613 #define WNDS_RECEIVEDSUSPENDMSG 0x02000000
614 #define WNDS_TOGGLETOPMOST 0x04000000
615 #define WNDS_REDRAWIFHUNG 0x08000000
616 #define WNDS_REDRAWFRAMEIFHUNG 0x10000000
617 #define WNDS_ANSICREATOR 0x20000000
618 #define WNDS_MAXIMIZESTOMONITOR 0x40000000
619 #define WNDS_DESTROYED 0x80000000
620 
621 #define WNDSACTIVEFRAME 0x00000006
622 
623 /* State2 Flags !Not ALL Implemented! */
624 #define WNDS2_WMPAINTSENT 0X00000001
625 #define WNDS2_ENDPAINTINVALIDATE 0X00000002
626 #define WNDS2_STARTPAINT 0X00000004
627 #define WNDS2_OLDUI 0X00000008
628 #define WNDS2_HASCLIENTEDGE 0X00000010
629 #define WNDS2_BOTTOMMOST 0X00000020
630 #define WNDS2_FULLSCREEN 0X00000040
631 #define WNDS2_INDESTROY 0X00000080
632 #define WNDS2_WIN31COMPAT 0X00000100
633 #define WNDS2_WIN40COMPAT 0X00000200
634 #define WNDS2_WIN50COMPAT 0X00000400
635 #define WNDS2_MAXIMIZEDMONITORREGION 0X00000800
636 #define WNDS2_CLOSEBUTTONDOWN 0X00001000
637 #define WNDS2_MAXIMIZEBUTTONDOWN 0X00002000
638 #define WNDS2_MINIMIZEBUTTONDOWN 0X00004000
639 #define WNDS2_HELPBUTTONDOWN 0X00008000
640 #define WNDS2_SCROLLBARLINEUPBTNDOWN 0X00010000
641 #define WNDS2_SCROLLBARPAGEUPBTNDOWN 0X00020000
642 #define WNDS2_SCROLLBARPAGEDOWNBTNDOWN 0X00040000
643 #define WNDS2_SCROLLBARLINEDOWNBTNDOWN 0X00080000
644 #define WNDS2_ANYSCROLLBUTTONDOWN 0X00100000
645 #define WNDS2_SCROLLBARVERTICALTRACKING 0X00200000
646 #define WNDS2_FORCENCPAINT 0X00400000
647 #define WNDS2_FORCEFULLNCPAINTCLIPRGN 0X00800000
648 #define WNDS2_FULLSCREENMODE 0X01000000
649 #define WNDS2_CAPTIONTEXTTRUNCATED 0X08000000
650 #define WNDS2_NOMINMAXANIMATERECTS 0X10000000
651 #define WNDS2_SMALLICONFROMWMQUERYDRAG 0X20000000
652 #define WNDS2_SHELLHOOKREGISTERED 0X40000000
653 #define WNDS2_WMCREATEMSGPROCESSED 0X80000000
654 
655 /* ExStyles2 */
656 #define WS_EX2_CLIPBOARDLISTENER 0X00000001
657 #define WS_EX2_LAYEREDINVALIDATE 0X00000002
658 #define WS_EX2_REDIRECTEDFORPRINT 0X00000004
659 #define WS_EX2_LINKED 0X00000008
660 #define WS_EX2_LAYEREDFORDWM 0X00000010
661 #define WS_EX2_LAYEREDLIMBO 0X00000020
662 #define WS_EX2_HIGHTDPI_UNAWAR 0X00000040
663 #define WS_EX2_VERTICALLYMAXIMIZEDLEFT 0X00000080
664 #define WS_EX2_VERTICALLYMAXIMIZEDRIGHT 0X00000100
665 #define WS_EX2_HASOVERLAY 0X00000200
666 #define WS_EX2_CONSOLEWINDOW 0X00000400
667 #define WS_EX2_CHILDNOACTIVATE 0X00000800
668 
669 #define WPF_MININIT 0x0008
670 #define WPF_MAXINIT 0x0010
671 
672 typedef struct _WND
673 {
675 #if 0
676  WW ww;
677 #else
678  /* These fields should be moved in the WW at some point. */
679  /* Plese do not change them to keep the same layout with WW. */
682  /* Extended style. */
684  /* Style. */
686  /* Handle of the module that created the window. */
689 #endif
690  struct _WND *spwndNext;
691  struct _WND *spwndPrev;
692  struct _WND *spwndParent;
693  struct _WND *spwndChild;
694  struct _WND *spwndOwner;
698  /* Pointer to the window class. */
701  /* Property list head.*/
704  /* Scrollbar info */
706  /* system menu handle. */
708  //PMENU spmenuSys;
709  /* Window menu handle or window id */
710  UINT_PTR IDMenu; // Use spmenu
711  //PMENU spmenu;
712  HRGN hrgnClip;
714  /* Window name. */
716  /* Size of the extra data associated with the window. */
719  HIMC hImc; // Input context associated with this window.
722  //PD3DMATRIX pTransForm;
725 
726  /* ReactOS */
727  struct
728  {
732  UINT flags; /* WPF_ flags. */
733  } InternalPos;
734 
735  UINT Unicode:1; /* !(WNDS_ANSICREATOR|WNDS_ANSIWINDOWPROC) ? */
737  UINT HideFocus:1; /* WS_EX_UISTATEFOCUSRECTHIDDEN ? */
738  UINT HideAccel:1; /* WS_EX_UISTATEKBACCELHIDDEN ? */
739 
740  /* Scrollbar info */
741  PSBINFOEX pSBInfoex; // convert to PSBINFO
742  /* Entry in the list of thread windows. */
744 
746 } WND, *PWND;
747 
748 #define PWND_BOTTOM ((PWND)1)
749 
750 typedef struct _SBWND
751 {
756 } SBWND, *PSBWND;
757 
758 typedef struct _MDIWND
759 {
763 } MDIWND, *PMDIWND;
764 
765 #define GWLP_MDIWND 4
766 
767 typedef struct _MENUWND
768 {
771 } MENUWND, *PMENUWND;
772 
773 typedef struct _PFNCLIENT
774 {
799 
800 /*
801  Wine Common proc ( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam, BOOL Unicode );
802  Windows uses Ansi == TRUE, Wine uses Unicode == TRUE.
803  */
804 
805 typedef LRESULT
807  HWND,
808  UINT,
809  WPARAM,
810  LPARAM,
811  BOOL);
812 
813 typedef struct _PFNCLIENTWORKER
814 {
827 
828 typedef LONG_PTR
830  PWND,
831  UINT,
832  WPARAM,
833  LPARAM,
834  ULONG_PTR);
835 
836 /* FNID's for NtUserSetWindowFNID, NtUserMessageCall */
837 #define FNID_FIRST 0x029A
838 #define FNID_SCROLLBAR 0x029A
839 #define FNID_ICONTITLE 0x029B
840 #define FNID_MENU 0x029C
841 #define FNID_DESKTOP 0x029D
842 #define FNID_DEFWINDOWPROC 0x029E
843 #define FNID_MESSAGEWND 0x029F
844 #define FNID_SWITCH 0x02A0
845 #define FNID_BUTTON 0x02A1
846 #define FNID_COMBOBOX 0x02A2
847 #define FNID_COMBOLBOX 0x02A3
848 #define FNID_DIALOG 0x02A4
849 #define FNID_EDIT 0x02A5
850 #define FNID_LISTBOX 0x02A6
851 #define FNID_MDICLIENT 0x02A7
852 #define FNID_STATIC 0x02A8
853 #define FNID_IME 0x02A9
854 #define FNID_GHOST 0x02AA
855 #define FNID_CALLWNDPROC 0x02AB
856 #define FNID_CALLWNDPROCRET 0x02AC
857 #define FNID_HKINLPCWPEXSTRUCT 0x02AD
858 #define FNID_HKINLPCWPRETEXSTRUCT 0x02AE
859 #define FNID_MB_DLGPROC 0x02AF
860 #define FNID_MDIACTIVATEDLGPROC 0x02B0
861 #define FNID_SENDMESSAGE 0x02B1
862 #define FNID_SENDMESSAGEFF 0x02B2
863 /* Kernel has option to use TimeOut or normal msg send, based on type of msg. */
864 #define FNID_SENDMESSAGEWTOOPTION 0x02B3
865 #define FNID_SENDMESSAGECALLPROC 0x02B4
866 #define FNID_BROADCASTSYSTEMMESSAGE 0x02B5
867 #define FNID_TOOLTIPS 0x02B6
868 #define FNID_SENDNOTIFYMESSAGE 0x02B7
869 #define FNID_SENDMESSAGECALLBACK 0x02B8
870 
871 #define FNID_LAST FNID_SENDMESSAGECALLBACK
872 
873 #define FNID_NUM (FNID_LAST - FNID_FIRST + 1)
874 #define FNID_NUMSERVERPROC (FNID_SWITCH - FNID_FIRST + 1)
875 
876 #define FNID_DDEML 0x2000 /* Registers DDEML */
877 #define FNID_DESTROY 0x4000 /* This is sent when WM_NCDESTROY or in the support routine. */
878  /* Seen during WM_CREATE on error exit too. */
879 #define FNID_FREED 0x8000 /* Window being Freed... */
880 
881 #define ICLASS_TO_MASK(iCls) (1 << ((iCls)))
882 
883 #define GETPFNCLIENTA(fnid) \
884  (WNDPROC)(*(((ULONG_PTR *)&gpsi->apfnClientA) + (fnid - FNID_FIRST)))
885 #define GETPFNCLIENTW(fnid) \
886  (WNDPROC)(*(((ULONG_PTR *)&gpsi->apfnClientW) + (fnid - FNID_FIRST)))
887 
888 #define GETPFNSERVER(fnid) gpsi->aStoCidPfn[fnid - FNID_FIRST]
889 
890 /* ICLS's for NtUserGetClassName FNID to ICLS, NtUserInitializeClientPfnArrays */
891 #define ICLS_BUTTON 0
892 #define ICLS_EDIT 1
893 #define ICLS_STATIC 2
894 #define ICLS_LISTBOX 3
895 #define ICLS_SCROLLBAR 4
896 #define ICLS_COMBOBOX 5
897 #define ICLS_MDICLIENT 6
898 #define ICLS_COMBOLBOX 7
899 #define ICLS_DDEMLEVENT 8
900 #define ICLS_DDEMLMOTHER 9
901 #define ICLS_DDEML16BIT 10
902 #define ICLS_DDEMLCLIENTA 11
903 #define ICLS_DDEMLCLIENTW 12
904 #define ICLS_DDEMLSERVERA 13
905 #define ICLS_DDEMLSERVERW 14
906 #define ICLS_IME 15
907 #define ICLS_GHOST 16
908 #define ICLS_DESKTOP 17
909 #define ICLS_DIALOG 18
910 #define ICLS_MENU 19
911 #define ICLS_SWITCH 20
912 #define ICLS_ICONTITLE 21
913 #define ICLS_TOOLTIPS 22
914 #if (_WIN32_WINNT <= 0x0501)
915 #define ICLS_UNKNOWN 22
916 #define ICLS_NOTUSED 23
917 #else
918 #define ICLS_SYSSHADOW 23
919 #define ICLS_HWNDMESSAGE 24
920 #define ICLS_NOTUSED 25
921 #endif
922 #define ICLS_END 31
923 
924 #define COLOR_LAST COLOR_MENUBAR
925 #define MAX_MB_STRINGS 11
926 
927 #define SRVINFO_DBCSENABLED 0x0002
928 #define SRVINFO_IMM32 0x0004
929 #define SRVINFO_APIHOOK 0x0010
930 #define SRVINFO_CICERO_ENABLED 0x0020
931 #define SRVINFO_KBDPREF 0x0080
932 
933 #define NUM_SYSCOLORS 31
934 
935 typedef struct tagOEMBITMAPINFO
936 {
942 
943 typedef enum _OBI_TYPES
944 {
952 } OBI_TYPES;
953 
954 typedef struct tagMBSTRING
955 {
959 } MBSTRING, *PMBSTRING;
960 
961 typedef struct tagDPISERVERINFO
962 {
963  INT gclBorder; /* 000 */
964  HFONT hCaptionFont; /* 004 */
965  HFONT hMsgFont; /* 008 */
966  INT cxMsgFontChar; /* 00C */
967  INT cyMsgFontChar; /* 010 */
968  UINT wMaxBtnSize; /* 014 */
970 
971 /* PUSIFlags: */
972 #define PUSIF_PALETTEDISPLAY 0x01
973 #define PUSIF_SNAPTO 0x02
974 #define PUSIF_COMBOBOXANIMATION 0x04
975 #define PUSIF_LISTBOXSMOOTHSCROLLING 0x08
976 #define PUSIF_KEYBOARDCUES 0x20
977 
978 typedef struct _PERUSERSERVERINFO
979 {
984  HBRUSH hbrGray;
1019 
1020 typedef struct tagSERVERINFO
1021 {
1045 
1046 #ifdef _M_IX86
1047 C_ASSERT(sizeof(SERVERINFO) <= PAGE_SIZE);
1048 #endif
1049 
1050 
1051 /* Server event activity bits. */
1052 #define SRV_EVENT_MENU 0x0001
1053 #define SRV_EVENT_END_APPLICATION 0x0002
1054 #define SRV_EVENT_RUNNING 0x0004
1055 #define SRV_EVENT_NAMECHANGE 0x0008
1056 #define SRV_EVENT_VALUECHANGE 0x0010
1057 #define SRV_EVENT_STATECHANGE 0x0020
1058 #define SRV_EVENT_LOCATIONCHANGE 0x0040
1059 #define SRV_EVENT_CREATE 0x8000
1060 
1061 typedef struct _PROPLISTITEM
1062 {
1066 
1067 #define PROPERTY_FLAG_SYSTEM 1
1068 
1069 typedef struct _PROPERTY
1070 {
1075 } PROPERTY, *PPROPERTY;
1076 
1077 typedef struct _BROADCASTPARM
1078 {
1081  HDESK hDesk;
1085 
1088 
1089 typedef struct _WNDMSG
1090 {
1093 } WNDMSG, *PWNDMSG;
1094 
1095 typedef struct _SHAREDINFO
1096 {
1097  PSERVERINFO psi; /* Global Server Info */
1098  PVOID aheList; /* Handle Entry List */
1099  PVOID pDispInfo; /* Global PDISPLAYINFO pointer */
1100  ULONG_PTR ulSharedDelta; /* Shared USER mapped section delta */
1105 
1106 /* See also the USERSRV_API_CONNECTINFO #define in include/reactos/subsys/win/winmsg.h */
1107 typedef struct _USERCONNECT
1108 {
1114 
1115 /* WinNT 5.0 compatible user32 / win32k */
1116 #define USER_VERSION MAKELONG(0x0000, 0x0005)
1117 
1118 #if defined(_M_IX86)
1119 C_ASSERT(sizeof(USERCONNECT) == 0x124);
1120 #endif
1121 
1122 typedef struct tagGETCLIPBDATA
1123 {
1126  union
1127  {
1130  };
1132 
1133 typedef struct tagSETCLIPBDATA
1134 {
1138 
1139 /* Used with NtUserSetCursorIconData, last parameter. */
1140 typedef struct tagCURSORDATA
1141 {
1153  HBITMAP hbmUserAlpha; /* Could be in W7U, not in W2k */
1163 } CURSORDATA, *PCURSORDATA; /* !dso CURSORDATA */
1164 
1165 /* CURSORF_flags: */
1166 #define CURSORF_FROMRESOURCE 0x0001
1167 #define CURSORF_GLOBAL 0x0002
1168 #define CURSORF_LRSHARED 0x0004
1169 #define CURSORF_ACON 0x0008
1170 #define CURSORF_WOWCLEANUP 0x0010
1171 #define CURSORF_ACONFRAME 0x0040
1172 #define CURSORF_SECRET 0x0080
1173 #define CURSORF_LINKED 0x0100
1174 #define CURSORF_CURRENT 0x0200
1175 
1176 typedef struct tagIMEINFOEX
1177 {
1188  struct
1189  {
1192  };
1193 } IMEINFOEX, *PIMEINFOEX;
1194 
1195 typedef enum IMEINFOEXCLASS
1196 {
1201 } IMEINFOEXCLASS;
1202 
1203 #define IS_IME_HKL(hkl) ((((ULONG_PTR)(hkl)) & 0xF0000000) == 0xE0000000)
1204 
1205 typedef struct tagIMEUI
1206 {
1213  struct {
1221  };
1222 } IMEUI, *PIMEUI;
1223 
1224 /* Window Extra data container. */
1225 typedef struct _IMEWND
1226 {
1229 } IMEWND, *PIMEWND;
1230 
1231 typedef struct tagTRANSMSG
1232 {
1237 
1238 typedef struct tagTRANSMSGLIST
1239 {
1243 
1244 #define DEFINE_IME_ENTRY(type, name, params, extended) typedef type (WINAPI *FN_##name) params;
1245 #include "imetable.h"
1246 #undef DEFINE_IME_ENTRY
1247 
1248 typedef struct IMEDPI
1249 {
1250  struct IMEDPI *pNext;
1258 #define DEFINE_IME_ENTRY(type, name, params, extended) FN_##name name;
1259 #include "imetable.h"
1260 #undef DEFINE_IME_ENTRY
1261 } IMEDPI, *PIMEDPI;
1262 
1263 #ifndef _WIN64
1265 C_ASSERT(offsetof(IMEDPI, hInst) == 0x4);
1266 C_ASSERT(offsetof(IMEDPI, hKL) == 0x8);
1267 C_ASSERT(offsetof(IMEDPI, ImeInfo) == 0xc);
1268 C_ASSERT(offsetof(IMEDPI, uCodePage) == 0x28);
1269 C_ASSERT(offsetof(IMEDPI, szUIClass) == 0x2c);
1270 C_ASSERT(offsetof(IMEDPI, cLockObj) == 0x4c);
1271 C_ASSERT(offsetof(IMEDPI, dwFlags) == 0x50);
1272 C_ASSERT(offsetof(IMEDPI, ImeInquire) == 0x54);
1279 C_ASSERT(offsetof(IMEDPI, ImeDestroy) == 0x70);
1280 C_ASSERT(offsetof(IMEDPI, ImeEscape) == 0x74);
1282 C_ASSERT(offsetof(IMEDPI, ImeSelect) == 0x7c);
1285 C_ASSERT(offsetof(IMEDPI, NotifyIME) == 0x88);
1288 C_ASSERT(offsetof(IMEDPI, CtfImeInquireExW) == 0x94);
1289 C_ASSERT(offsetof(IMEDPI, CtfImeSelectEx) == 0x98);
1290 C_ASSERT(offsetof(IMEDPI, CtfImeEscapeEx) == 0x9c);
1291 C_ASSERT(offsetof(IMEDPI, CtfImeGetGuidAtom) == 0xa0);
1292 C_ASSERT(offsetof(IMEDPI, CtfImeIsGuidMapEnable) == 0xa4);
1293 C_ASSERT(sizeof(IMEDPI) == 0xa8);
1294 #endif
1295 
1296 /* flags for IMEDPI.dwFlags */
1297 #define IMEDPI_FLAG_UNKNOWN 0x1
1298 #define IMEDPI_FLAG_LOCKED 0x2
1299 
1300 /* unconfirmed */
1301 typedef struct tagCLIENTIMC
1302 {
1303  HANDLE hInputContext; /* LocalAlloc'ed LHND */
1311 } CLIENTIMC, *PCLIENTIMC;
1312 
1313 #ifndef _WIN64
1314 C_ASSERT(offsetof(CLIENTIMC, hInputContext) == 0x0);
1315 C_ASSERT(offsetof(CLIENTIMC, cLockObj) == 0x4);
1317 C_ASSERT(offsetof(CLIENTIMC, dwCompatFlags) == 0xc);
1318 C_ASSERT(offsetof(CLIENTIMC, cs) == 0x10);
1319 C_ASSERT(offsetof(CLIENTIMC, uCodePage) == 0x28);
1320 C_ASSERT(offsetof(CLIENTIMC, hKL) == 0x2c);
1321 C_ASSERT(sizeof(CLIENTIMC) == 0x34);
1322 #endif
1323 
1324 /* flags for CLIENTIMC */
1325 #define CLIENTIMC_WIDE 0x1
1326 #define CLIENTIMC_UNKNOWN5 0x2
1327 #define CLIENTIMC_UNKNOWN4 0x20
1328 #define CLIENTIMC_DESTROY 0x40
1329 #define CLIENTIMC_UNKNOWN3 0x80
1330 #define CLIENTIMC_UNKNOWN2 0x100
1331 
1332 DWORD
1333 NTAPI
1335 
1336 NTSTATUS
1337 NTAPI
1338 NtUserBuildHimcList(DWORD dwThreadId, DWORD dwCount, HIMC *phList, LPDWORD pdwCount);
1339 
1340 DWORD
1341 NTAPI
1343  HWND hwnd,
1344  DWORD x,
1345  DWORD width,
1346  DWORD y,
1347  LPRECT prc);
1348 
1349 DWORD
1350 NTAPI
1352  HMENU hmenu,
1353  UINT uIDCheckItem,
1354  UINT uCheck);
1355 
1356 DWORD
1357 NTAPI
1359  DWORD dwUnknown1,
1360  DWORD dwUnknown2,
1361  DWORD dwUnknown3);
1362 
1363 DWORD
1364 APIENTRY
1366  DWORD Unknown0,
1367  DWORD Unknown1);
1368 
1369 DWORD
1370 APIENTRY
1372  DWORD Unknown0,
1373  DWORD Unknown1);
1374 
1375 BOOL
1376 NTAPI
1378  HMENU hMenu,
1379  UINT uPosition,
1380  UINT uFlags);
1381 
1382 BOOL
1383 NTAPI
1385  HMENU hMenu);
1386 
1387 DWORD
1388 NTAPI
1390  HWND hWnd,
1391  HDC hDC,
1392  PRECT hRect,
1393  HMENU hMenu,
1394  HFONT hFont);
1395 
1396 UINT
1397 NTAPI
1399  HMENU hMenu,
1400  UINT uIDEnableItem,
1401  UINT uEnable);
1402 
1403 BOOL
1404 NTAPI
1406 
1407 BOOL
1408 NTAPI
1410  HWND hwnd,
1411  LONG idObject,
1412  LONG idItem,
1413  PMENUBARINFO pmbi);
1414 
1415 UINT
1416 NTAPI
1418  HMENU hMenu,
1419  HMENU hSubMenu);
1420 
1421 BOOL
1422 NTAPI
1424  HWND hWnd,
1425  HMENU hMenu,
1426  UINT uItem,
1427  LPRECT lprcItem);
1428 
1429 HMENU
1430 NTAPI
1432  HWND hWnd,
1433  BOOL bRevert);
1434 
1435 BOOL
1436 NTAPI
1438  HWND hWnd,
1439  HMENU hMenu,
1440  UINT uItemHilite,
1441  UINT uHilite);
1442 
1443 int
1444 NTAPI
1446  HWND hWnd,
1447  HMENU hMenu,
1448  DWORD X,
1449  DWORD Y);
1450 
1451 BOOL
1452 NTAPI
1454  HMENU hMenu,
1455  UINT uPosition,
1456  UINT uFlags);
1457 
1458 BOOL
1459 NTAPI
1461  HWND hWnd,
1462  HMENU hMenu,
1463  BOOL bRepaint);
1464 
1465 BOOL
1466 NTAPI
1468  HMENU hmenu,
1469  DWORD dwContextHelpId);
1470 
1471 BOOL
1472 NTAPI
1474  HMENU hMenu,
1475  UINT uItem,
1476  UINT fByPos);
1477 
1478 BOOL
1479 NTAPI
1481  HMENU hMenu);
1482 
1483 BOOL
1484 NTAPI
1486  HWND hWnd,
1487  HMENU hMenu);
1488 
1489 BOOL
1490 NTAPI
1492  HMENU hMenu,
1493  LPCMENUINFO lpcmi);
1494 
1495 BOOL
1496 NTAPI
1498  HMENU hMenu,
1499  UINT uItem,
1500  BOOL fByPosition,
1501  BOOL bInsert,
1502  LPMENUITEMINFOW lpmii,
1503  PUNICODE_STRING lpszCaption);
1504 
1505 BOOL
1506 NTAPI
1508  HMENU hmenu,
1509  UINT fuFlags,
1510  int x,
1511  int y,
1512  HWND hwnd,
1513  LPTPMPARAMS lptpm);
1514 
1515 HKL
1516 NTAPI
1518  HKL hKl,
1519  ULONG Flags);
1520 
1521 DWORD
1522 NTAPI
1524  HWND hWnd,
1525  DWORD Index,
1526  LONG NewValue);
1527 
1528 BOOL
1529 NTAPI
1531  IN DWORD idAttach,
1532  IN DWORD idAttachTo,
1533  IN BOOL fAttach);
1534 
1535 HDC NTAPI
1537  HWND hWnd,
1538  PAINTSTRUCT *lPs);
1539 
1540 BOOL
1541 NTAPI
1543  HDC hdc,
1544  INT nXDest,
1545  INT nYDest,
1546  INT nWidth,
1547  INT nHeight,
1548  INT nXSrc,
1549  INT nYSrc,
1550  DWORD dwRop);
1551 
1552 BOOL
1553 NTAPI
1555  BOOL BlockIt);
1556 
1557 NTSTATUS
1558 NTAPI
1560  HDESK hDesktop,
1561  HWND hwndParent,
1562  BOOLEAN bChildren,
1563  ULONG dwThreadId,
1564  ULONG cHwnd,
1565  HWND *phwndList,
1566  ULONG *pcHwndNeeded);
1567 
1568 NTSTATUS
1569 NTAPI
1571  HWINSTA hWinSta,
1572  ULONG dwSize,
1573  PVOID lpBuffer,
1574  PULONG pRequiredSize);
1575 
1576 NTSTATUS
1577 NTAPI
1579  HWND hWnd,
1580  LPVOID Buffer,
1581  DWORD BufferSize,
1582  DWORD *Count);
1583 
1584 /* apfnSimpleCall indices from Windows XP SP 2 */
1585 /* TODO: Check for differences in Windows 2000, 2003 and 2008 */
1586 #define WIN32K_VERSION NTDDI_WINXPSP2 /* FIXME: this should go somewhere else */
1587 
1589 {
1592 #if (WIN32K_VERSION >= NTDDI_VISTA)
1597 #endif
1599 #if (WIN32K_VERSION < NTDDI_VISTA)
1603 #endif
1608 #if (WIN32K_VERSION >= NTDDI_VISTA)
1610 #else
1611  NOPARAM_ROUTINE_GETREMOTEPROCESSID,
1612 #endif
1615 #if (WIN32K_VERSION >= NTDDI_VISTA)
1618 #endif
1633 #if (WIN32K_VERSION >= NTDDI_VISTA)
1635 #endif
1638 #if (WIN32K_VERSION < NTDDI_VISTA)
1640 #endif
1642 #if (WIN32K_VERSION >= NTDDI_VISTA)
1644 #endif
1648 #if (WIN32K_VERSION < NTDDI_VISTA)
1649  ONEPARAM_ROUTINE_CREATESYSTEMTHREADS,
1650 #endif
1654 #if (WIN32K_VERSION < NTDDI_VISTA)
1655  ONEPARAM_ROUTINE_GETCURSORPOS,
1656 #endif
1663 #if (WIN32K_VERSION < NTDDI_VISTA)
1664  ONEPARAM_ROUTINE_HANDLESYSTHRDCREATFAIL,
1665 #endif
1672 #if (WIN32K_VERSION < NTDDI_VISTA)
1673  ONEPARAM_ROUTINE_PREPAREFORLOGOFF,
1674 #endif
1677 #if (WIN32K_VERSION >= NTDDI_VISTA)
1679 #endif
1683 #if (WIN32K_VERSION >= NTDDI_VISTA)
1685 #endif
1689 #if (WIN32K_VERSION < NTDDI_VISTA)
1690  ONEPARAM_ROUTINE_SETIMESHOWSTATUS,
1691 #endif
1694 #if (WIN32K_VERSION >= NTDDI_VISTA)
1696 #endif
1701 #if (WIN32K_VERSION < NTDDI_VISTA)
1702  X_ROUTINE_REMOTENOTIFY,
1703 #endif
1718  HWNDLOCK_ROUTINE_WINDOWHASSHADOW, /* correct prefix ? */
1737 #if (WIN32K_VERSION >= NTDDI_VISTA)
1740 #endif
1744 #if (WIN32K_VERSION >= NTDDI_VISTA)
1746 #endif
1748 #if (WIN32K_VERSION >= NTDDI_VISTA)
1750 #else
1751  TWOPARAM_ROUTINE_REGISTERSYSTEMTHREAD,
1752 #endif
1758 #if (WIN32K_VERSION >= NTDDI_VISTA)
1760 #endif
1763 };
1764 
1765 DWORD
1766 NTAPI
1768  HWND hWnd,
1769  DWORD Routine);
1770 
1771 BOOL
1772 NTAPI
1774  HWND hWnd,
1775  DWORD Routine);
1776 
1777 HWND
1778 NTAPI
1780  HWND hWnd,
1781  DWORD Routine);
1782 
1783 DWORD
1784 NTAPI
1786  HWND hWnd,
1787  DWORD_PTR Param,
1788  DWORD Routine);
1789 
1790 DWORD
1791 NTAPI
1793  HWND hWnd,
1794  DWORD_PTR Param,
1795  DWORD Routine);
1796 
1797 BOOL
1798 NTAPI
1800  LPMSG msg,
1801  INT code);
1802 
1803 LRESULT
1804 NTAPI
1806  int Code,
1807  WPARAM wParam,
1808  LPARAM lParam,
1809  BOOL Ansi);
1810 
1811 DWORD_PTR
1812 NTAPI
1814  DWORD Routine);
1815 
1816 DWORD_PTR
1817 NTAPI
1819  DWORD_PTR Param,
1820  DWORD Routine);
1821 
1822 DWORD_PTR
1823 NTAPI
1825  DWORD_PTR Param1,
1826  DWORD_PTR Param2,
1827  DWORD Routine);
1828 
1829 BOOL
1830 NTAPI
1832  HWND hWndRemove,
1833  HWND hWndNewNext);
1834 
1835 LONG
1836 NTAPI
1838  PUNICODE_STRING lpszDeviceName,
1840  DWORD dwflags,
1841  LPVOID lParam);
1842 
1843 BOOL
1844 NTAPI
1846  DWORD dwThreadId);
1847 
1848 BOOL
1849 NTAPI
1851  HWND hwnd,
1852  DWORD dwThreadId,
1853  ULONG ReturnValue);
1854 
1855 DWORD
1856 NTAPI
1858  UINT uVirtualKey,
1859  LPARAM lParam);
1860 
1861 HWND NTAPI
1863  HWND Parent,
1864  LONG x,
1865  LONG y,
1866  UINT Flags);
1867 
1868 BOOL
1869 NTAPI
1871  RECT *lpRect);
1872 
1873 BOOL
1874 NTAPI
1876 
1877 BOOL
1878 NTAPI
1880  HDESK hDesktop);
1881 
1882 BOOL
1883 NTAPI
1885  HWINSTA hWinSta);
1886 
1887 /* Console commands for NtUserConsoleControl */
1888 typedef enum _CONSOLECONTROL
1889 {
1895 
1897 {
1901 
1902 NTSTATUS
1903 APIENTRY
1905  IN CONSOLECONTROL ConsoleCtrl,
1906  IN PVOID ConsoleCtrlInfo,
1907  IN ULONG ConsoleCtrlInfoLength);
1908 
1909 HANDLE
1910 NTAPI
1912  PVOID pData,
1913  DWORD cbData);
1914 
1915 ULONG
1916 NTAPI
1918  HACCEL Table,
1919  LPACCEL Entries,
1920  ULONG EntriesCount);
1921 
1922 DWORD
1923 NTAPI
1925 
1926 HACCEL
1927 NTAPI
1929  LPACCEL Entries,
1930  ULONG EntriesCount);
1931 
1932 BOOL
1933 NTAPI
1935  HWND hWnd,
1936  HBITMAP hBitmap,
1937  int nWidth,
1938  int nHeight);
1939 
1940 HDESK
1941 NTAPI
1943  POBJECT_ATTRIBUTES poa,
1944  PUNICODE_STRING lpszDesktopDevice,
1945  LPDEVMODEW lpdmw,
1946  DWORD dwFlags,
1947  ACCESS_MASK dwDesiredAccess);
1948 
1949 HIMC
1950 NTAPI
1951 NtUserCreateInputContext(ULONG_PTR dwClientImcData);
1952 
1953 NTSTATUS
1954 NTAPI
1956  HANDLE hMem,
1957  PVOID pData,
1958  DWORD cbData,
1959  DWORD *pcbData);
1960 
1961 HWND
1962 NTAPI
1964  DWORD dwExStyle,
1965  PLARGE_STRING plstrClassName,
1966  PLARGE_STRING plstrClsVersion,
1967  PLARGE_STRING plstrWindowName,
1968  DWORD dwStyle,
1969  int x,
1970  int y,
1971  int nWidth,
1972  int nHeight,
1973  HWND hWndParent,
1974  HMENU hMenu,
1976  LPVOID lpParam,
1977  DWORD dwFlags,
1978  PVOID acbiBuffer);
1979 
1980 HWINSTA
1981 NTAPI
1984  ACCESS_MASK dwDesiredAccess,
1985  DWORD Unknown2,
1986  DWORD Unknown3,
1987  DWORD Unknown4,
1988  DWORD Unknown5,
1989  DWORD Unknown6);
1990 
1991 BOOL
1992 NTAPI
1994  IN HWND hwndClient,
1995  IN HWND hWndServer,
1997 
1998 DWORD
1999 NTAPI
2001  DWORD Unknown0,
2002  DWORD Unknown1,
2003  DWORD Unknown2,
2004  DWORD Unknown3,
2005  DWORD Unknown4);
2006 
2007 BOOL
2008 NTAPI
2010  IN HWND hwndClient,
2013 
2014 HDWP
2015 NTAPI
2017  HDWP WinPosInfo,
2018  HWND Wnd,
2019  HWND WndInsertAfter,
2020  int x,
2021  int y,
2022  int cx,
2023  int cy,
2024  UINT Flags);
2025 
2026 BOOL
2027 NTAPI
2029  HWND WindowHandle,
2030  PLARGE_STRING WindowText);
2031 
2032 BOOLEAN
2033 NTAPI
2035  HACCEL Table);
2036 
2037 BOOL
2038 NTAPI
2040  _In_ HANDLE Handle,
2041  _In_ BOOL bForce);
2042 
2043 BOOL
2044 NTAPI
2046 
2047 BOOLEAN
2048 NTAPI
2050  HWND Wnd);
2051 
2052 BOOL
2053 NTAPI
2055  DWORD dwThreadID);
2056 
2057 LRESULT
2058 NTAPI
2060  PMSG pMsg);
2061 
2062 BOOL
2063 NTAPI
2065  HWND hWnd,
2066  POINT pt);
2067 
2068 DWORD
2069 NTAPI
2071  HWND hwnd1,
2072  HWND hwnd2,
2073  UINT u1,
2074  DWORD dw1,
2075  HCURSOR hc1);
2076 
2077 BOOL
2078 NTAPI
2080  HWND hwnd,
2081  INT idAni,
2082  RECT *lprcFrom,
2083  RECT *lprcTo);
2084 
2085 BOOL
2086 NTAPI
2088  HWND hWnd,
2089  HDC hDc,
2090  LPCRECT lpRc,
2091  UINT uFlags);
2092 
2093 BOOL
2094 NTAPI
2096  HWND hWnd,
2097  HDC hDC,
2098  LPCRECT lpRc,
2099  HFONT hFont,
2100  HICON hIcon,
2101  const PUNICODE_STRING str,
2102  UINT uFlags);
2103 
2104 /* Used with NtUserDrawIconEx, last parameter. */
2105 typedef struct _DRAWICONEXDATA
2106 {
2109  int cx;
2110  int cy;
2112 
2113 BOOL
2114 NTAPI
2116  HDC hdc,
2117  int xLeft,
2118  int yTop,
2119  HICON hIcon,
2120  int cxWidth,
2121  int cyWidth,
2122  UINT istepIfAniCur,
2123  HBRUSH hbrFlickerFreeDraw,
2124  UINT diFlags,
2125  BOOL bMetaHDC,
2126  PVOID pDIXData);
2127 
2128 BOOL
2129 NTAPI
2131 
2132 BOOL
2133 NTAPI
2135  HWND hWnd,
2136  UINT wSBflags,
2137  UINT wArrows);
2138 
2139 BOOL
2140 NTAPI
2142  HDWP WinPosInfo,
2143  BOOL bAsync);
2144 
2145 BOOL
2146 NTAPI
2148  HWND hWnd,
2149  CONST PAINTSTRUCT *lPs);
2150 
2151 BOOL
2152 NTAPI
2154  PUNICODE_STRING lpDevice, /* device name */
2155  DWORD iDevNum, /* display device */
2156  PDISPLAY_DEVICEW lpDisplayDevice, /* device information */
2157  DWORD dwFlags); /* reserved */
2158 
2159 /*
2160 BOOL
2161 NTAPI
2162 NtUserEnumDisplayMonitors(
2163  HDC hdc,
2164  LPCRECT lprcClip,
2165  MONITORENUMPROC lpfnEnum,
2166  LPARAM dwData);
2167 */
2168 /* FIXME: The call below is ros-specific and should be rewritten to use the same params as the correct call above. */
2169 INT
2170 NTAPI
2172  OPTIONAL IN HDC hDC,
2173  OPTIONAL IN LPCRECT pRect,
2174  OPTIONAL OUT HMONITOR *hMonitorList,
2175  OPTIONAL OUT LPRECT monitorRectList,
2176  OPTIONAL IN DWORD listSize);
2177 
2178 
2179 NTSTATUS
2180 NTAPI
2182  PUNICODE_STRING lpszDeviceName,
2183  DWORD iModeNum,
2184  LPDEVMODEW lpDevMode, /* FIXME is this correct? */
2185  DWORD dwFlags);
2186 
2187 DWORD
2188 NTAPI
2189 NtUserEvent(
2190  DWORD Unknown0);
2191 
2192 INT
2193 NTAPI
2195  HDC hDC,
2196  HWND hWnd);
2197 
2198 BOOL
2199 NTAPI
2201  HWND hWndPaint,
2202  HWND hWndPaint1,
2203  HDC hDC,
2204  HBRUSH hBrush);
2205 
2206 HWND
2207 NTAPI
2209  HWND hwndParent,
2210  HWND hwndChildAfter,
2211  PUNICODE_STRING ucClassName,
2212  PUNICODE_STRING ucWindowName,
2213  DWORD dwUnknown);
2214 
2215 BOOL
2216 NTAPI
2218  IN PFLASHWINFO pfwi);
2219 
2220 BOOL
2221 NTAPI
2223  HWND hwnd,
2224  INT iItem,
2225  PALTTABINFO pati,
2226  LPWSTR pszItemText,
2227  UINT cchItemText,
2228  BOOL Ansi);
2229 
2230 HWND
2231 NTAPI
2233  HWND hWnd,
2234  UINT Flags);
2235 
2236 DWORD
2237 NTAPI
2239 
2240 SHORT
2241 NTAPI
2243  INT Key);
2244 
2245 _Success_(return != 0)
2246 _At_(pustrName->Buffer, _Out_z_bytecap_post_bytecount_(pustrName->MaximumLength, return * 2 + 2))
2247 ULONG
2248 APIENTRY
2249 NtUserGetAtomName(
2250  _In_ ATOM atom,
2251  _Inout_ PUNICODE_STRING pustrName);
2252 
2253 UINT
2254 NTAPI
2256 
2257 BOOL
2258 NTAPI
2260  LPPOINT lpPoint);
2261 
2262 BOOL
2263 NTAPI
2266  PUNICODE_STRING ClassName,
2267  LPWNDCLASSEXW wcex,
2268  LPWSTR *ppszMenuName,
2269  BOOL Ansi);
2270 
2271 INT
2272 NTAPI
2274  HWND hWnd,
2275  BOOL Real, /* 0 GetClassNameW, 1 RealGetWindowClassA/W */
2276  PUNICODE_STRING ClassName);
2277 
2278 HANDLE
2279 NTAPI
2281  UINT fmt,
2282  PGETCLIPBDATA pgcd);
2283 
2284 INT
2285 NTAPI
2287  UINT uFormat,
2288  LPWSTR lpszFormatName,
2289  INT cchMaxCount);
2290 
2291 HWND
2292 NTAPI
2294 
2295 DWORD
2296 NTAPI
2298 
2299 HWND
2300 NTAPI
2302 
2303 BOOL
2304 NTAPI
2306  RECT *lpRect);
2307 
2308 BOOL
2309 NTAPI
2311  HWND hWnd,
2312  PCOMBOBOXINFO pcbi);
2313 
2314 HBRUSH
2315 NTAPI
2317  HWND hwnd,
2318  HDC hdc,
2319  UINT ctlType);
2320 
2321 HBRUSH
2322 NTAPI
2324  HWND hwndParent,
2325  HWND hwnd,
2326  HDC hdc,
2327  UINT CtlMsg);
2328 
2329 ULONG_PTR
2330 NTAPI
2331 NtUserGetCPD(
2332  HWND hWnd,
2333  GETCPD Flags,
2334  ULONG_PTR Proc);
2335 
2336 HCURSOR
2337 NTAPI
2339  HCURSOR hCursor,
2340  DWORD istep,
2341  INT *rate_jiffies,
2342  DWORD *num_steps);
2343 
2344 BOOL
2345 NTAPI
2347  PCURSORINFO pci);
2348 
2349 HDC
2350 NTAPI
2351 NtUserGetDC(
2352  HWND hWnd);
2353 
2354 HDC
2355 NTAPI
2357  HWND hWnd,
2358  HANDLE hRegion,
2359  ULONG Flags);
2360 
2361 UINT
2362 NTAPI
2364 
2365 HWND
2366 NTAPI
2368 
2369 DWORD
2370 NTAPI
2372  HANDLE hProcess,
2373  DWORD uiFlags);
2374 
2375 BOOL
2376 NTAPI
2378  DWORD idThread,
2379  LPGUITHREADINFO lpgui);
2380 
2382 BOOL
2383 NTAPI
2384 NtUserGetIconInfo(
2385  _In_ HANDLE hCurIcon,
2390  _In_ BOOL bInternal);
2391 
2392 BOOL
2393 NTAPI
2395  HANDLE Handle,
2396  UINT istepIfAniCur,
2397  LONG *plcx,
2398  LONG *plcy);
2399 
2400 BOOL
2401 NTAPI
2402 NtUserGetImeHotKey(DWORD dwHotKeyId,
2403  LPUINT lpuModifiers,
2404  LPUINT lpuVirtualKey,
2405  LPHKL lphKL);
2406 
2407 BOOL
2408 NTAPI
2410  PIMEINFOEX pImeInfoEx,
2411  IMEINFOEXCLASS SearchType);
2412 
2413 DWORD
2414 NTAPI
2416  HWND hwnd,
2417  LPRECT rectWnd,
2418  LPPOINT ptIcon);
2419 
2420 HKL
2421 NTAPI
2423  DWORD dwThreadid);
2424 
2425 UINT
2426 NTAPI
2428  ULONG nItems,
2429  HKL *pHklBuff);
2430 
2431 BOOL
2432 NTAPI
2434  LPWSTR lpszName);
2435 
2436 DWORD
2437 NTAPI
2439  LPBYTE Unknown0);
2440 
2441 DWORD
2442 NTAPI
2444  DWORD TypeFlag);
2445 
2446 DWORD
2447 NTAPI
2449  LONG lParam,
2450  LPWSTR lpString,
2451  int nSize);
2452 
2453 SHORT
2454 NTAPI
2456  INT VirtKey);
2457 
2458 BOOL
2459 NTAPI
2461  HWND hwnd,
2462  COLORREF *pcrKey,
2463  BYTE *pbAlpha,
2464  DWORD *pdwFlags);
2465 
2466 DWORD
2467 NTAPI
2469  HWND hWnd);
2470 
2471 BOOL
2472 APIENTRY
2474  PMSG pMsg,
2475  HWND hWnd,
2476  UINT MsgFilterMin,
2477  UINT MsgFilterMax);
2478 
2479 DWORD
2480 NTAPI
2482  UINT cbSize,
2483  LPMOUSEMOVEPOINT lppt,
2484  LPMOUSEMOVEPOINT lpptBuf,
2485  int nBufPoints,
2486  DWORD resolution);
2487 
2488 BOOL
2489 NTAPI
2491  HANDLE hObject,
2492  DWORD nIndex,
2493  PVOID pvInformation,
2494  DWORD nLength,
2495  PDWORD nLengthNeeded);
2496 
2497 HWND
2498 NTAPI
2500 
2501 INT
2502 NTAPI
2504  UINT *paFormatPriorityList,
2505  INT cFormats);
2506 
2507 HWINSTA
2508 NTAPI
2510 
2511 DWORD
2512 NTAPI
2514  PRAWINPUT pData,
2515  PUINT pcbSize,
2516  UINT cbSizeHeader);
2517 
2518 DWORD
2519 NTAPI
2521  HRAWINPUT hRawInput,
2522  UINT uiCommand,
2523  LPVOID pData,
2524  PUINT pcbSize,
2525  UINT cbSizeHeader);
2526 
2527 DWORD
2528 NTAPI
2530  HANDLE hDevice,
2531  UINT uiCommand,
2532  LPVOID pData,
2533  PUINT pcbSize);
2534 
2535 DWORD
2536 NTAPI
2538  PRAWINPUTDEVICELIST pRawInputDeviceList,
2539  PUINT puiNumDevices,
2540  UINT cbSize);
2541 
2542 DWORD
2543 NTAPI
2545  PRAWINPUTDEVICE pRawInputDevices,
2546  PUINT puiNumDevices,
2547  UINT cbSize);
2548 
2549 BOOL
2550 NTAPI
2552  HWND hWnd,
2553  LONG idObject,
2554  PSCROLLBARINFO psbi);
2555 
2556 HDESK
2557 NTAPI
2559  DWORD dwThreadId,
2560  HDESK hConsoleDesktop);
2561 
2563 {
2583  THREADSTATE_PROGMANWINDOW, /* FIXME: Delete this HACK */
2584  THREADSTATE_TASKMANWINDOW, /* FIXME: Delete this HACK */
2585 };
2586 
2587 DWORD_PTR
2588 NTAPI
2590  DWORD Routine);
2591 
2592 BOOLEAN
2593 NTAPI
2595  HWND hwnd,
2596  PTITLEBARINFO pti);
2597 
2598 BOOL
2599 NTAPI
2601  HWND hWnd,
2602  LPRECT lpRect,
2603  BOOL fErase);
2604 
2605 INT
2606 NTAPI
2608  HWND hWnd,
2609  HRGN hRgn,
2610  BOOL bErase);
2611 
2612 HDC
2613 NTAPI
2615  HWND hWnd);
2616 
2617 BOOL
2618 NTAPI
2620  HWND hWnd,
2621  WINDOWPLACEMENT *lpwndpl);
2622 
2623 PCLS
2624 NTAPI
2627  PUNICODE_STRING ClassName);
2628 
2629 DWORD
2630 NTAPI
2632  DWORD dwUnknown1,
2633  DWORD dwUnknown2,
2634  DWORD dwUnknown3);
2635 
2636 BOOL
2637 NTAPI
2639  HWND hWndClient,
2640  HWND hWndServer);
2641 
2642 NTSTATUS
2643 NTAPI
2645  DWORD dwWinVersion,
2646  HANDLE hPowerRequestEvent,
2647  HANDLE hMediaRequestEvent);
2648 
2649 NTSTATUS
2650 NTAPI
2655  HINSTANCE hmodUser);
2656 
2657 DWORD
2658 NTAPI
2660  DWORD Unknown0,
2661  DWORD Unknown1,
2662  DWORD Unknown2,
2663  DWORD Unknown3,
2664  DWORD Unknown4,
2665  DWORD Unknown5,
2666  DWORD Unknown6,
2667  DWORD Unknown7,
2668  DWORD Unknown8,
2669  DWORD Unknown9,
2670  DWORD Unknown10,
2671  DWORD Unknown11);
2672 
2673 INT
2674 NTAPI
2676  HWND hWnd,
2677  LPWSTR lpString,
2678  INT nMaxCount);
2679 
2680 BOOL
2681 NTAPI
2683  HWND hWnd,
2684  CONST RECT *lpRect,
2685  BOOL bErase);
2686 
2687 BOOL
2688 NTAPI
2690  HWND hWnd,
2691  HRGN hRgn,
2692  BOOL bErase);
2693 
2694 BOOL
2695 NTAPI
2697  UINT format);
2698 
2699 BOOL
2700 NTAPI
2702  HWND hWnd,
2703  UINT_PTR uIDEvent);
2704 
2705 HKL
2706 NTAPI
2708  IN HANDLE Handle,
2709  IN DWORD offTable,
2710  IN PUNICODE_STRING puszKeyboardName,
2711  IN HKL hKL,
2712  IN PUNICODE_STRING puszKLID,
2713  IN DWORD dwKLID,
2714  IN UINT Flags);
2715 
2716 BOOL
2717 NTAPI
2719  HWINSTA hWindowStation);
2720 
2721 BOOL
2722 NTAPI
2724  HWND hWnd);
2725 
2726 BOOL
2727 NTAPI
2729 
2730 UINT
2731 NTAPI
2733  UINT keyCode,
2734  UINT transType,
2735  DWORD keyboardId,
2736  HKL dwhkl);
2737 
2738 typedef struct tagDOSENDMESSAGE
2739 {
2743 }
2745 
2746 BOOL
2747 NTAPI
2749  HWND hWnd,
2750  UINT Msg,
2751  WPARAM wParam,
2752  LPARAM lParam,
2753  ULONG_PTR ResultInfo,
2754  DWORD dwType, /* FNID_XX types */
2755  BOOL Ansi);
2756 
2757 DWORD
2758 NTAPI
2760  HWND hWnd,
2761  UINT cmd, /* Wine SW_ commands */
2762  BOOL Hide);
2763 
2764 DWORD
2765 NTAPI
2767 
2768 DWORD
2769 NTAPI
2771  DWORD Unknown0,
2772  DWORD Unknown1);
2773 
2774 DWORD
2775 NTAPI
2777  DWORD Unknown0,
2778  DWORD Unknown1);
2779 
2780 BOOL
2781 NTAPI
2783  HWND hWnd,
2784  int X,
2785  int Y,
2786  int nWidth,
2787  int nHeight,
2788  BOOL bRepaint
2789 );
2790 
2791 DWORD
2792 NTAPI
2793 NtUserNotifyIMEStatus(HWND hwnd, BOOL fOpen, DWORD dwConversion);
2794 
2795 BOOL
2796 NTAPI
2798  HANDLE NewProcessId,
2799  HANDLE ParentThreadId,
2800  ULONG dwUnknown,
2801  ULONG CreateFlags);
2802 
2803 VOID
2804 NTAPI
2806  DWORD Event,
2807  HWND hWnd,
2808  LONG idObject,
2809  LONG idChild);
2810 
2811 BOOL
2812 NTAPI
2814  HWND hWnd,
2815  DWORD Unknown1);
2816 
2817 HDESK
2818 NTAPI
2821  DWORD dwFlags,
2822  ACCESS_MASK dwDesiredAccess);
2823 
2824 HDESK
2825 NTAPI
2827  DWORD dwFlags,
2828  BOOL fInherit,
2829  ACCESS_MASK dwDesiredAccess);
2830 
2831 HWINSTA
2832 NTAPI
2835  ACCESS_MASK dwDesiredAccess);
2836 
2837 BOOL
2838 NTAPI
2840  HDC hDC);
2841 
2842 DWORD
2843 NTAPI
2845  HWND hWnd,
2846  HDC hDC,
2847  ULONG left, // x,
2848  ULONG right, // width, // Scale the edge thickness, offset?
2849  ULONG top, // y,
2850  BOOL bActive); // DWORD Flags); DC_ACTIVE or WS_ACTIVECAPTION, by checking WNDS_ACTIVEFRAME and foreground.
2851 
2852 BOOL
2853 APIENTRY
2855  PMSG pMsg,
2856  HWND hWnd,
2857  UINT MsgFilterMin,
2858  UINT MsgFilterMax,
2859  UINT RemoveMsg);
2860 
2861 BOOL
2862 NTAPI
2864  HWND hWnd,
2865  UINT Msg,
2866  WPARAM wParam,
2867  LPARAM lParam);
2868 
2869 BOOL
2870 NTAPI
2872  DWORD idThread,
2873  UINT Msg,
2874  WPARAM wParam,
2875  LPARAM lParam);
2876 
2877 BOOL
2878 NTAPI
2880  HWND hwnd,
2881  HDC hdcBlt,
2882  UINT nFlags);
2883 
2884 NTSTATUS
2885 NTAPI
2888  OUT PUSERCONNECT pUserConnect,
2889  IN ULONG Size); /* sizeof(USERCONNECT) */
2890 
2891 NTSTATUS
2892 NTAPI
2894  IN HANDLE ThreadHandle,
2896  OUT PVOID ThreadInformation,
2898 
2899 DWORD_PTR
2900 NTAPI
2902  HIMC hIMC,
2903  DWORD dwType);
2904 
2905 DWORD
2906 NTAPI
2908  DWORD Unknown0);
2909 
2910 DWORD
2911 NTAPI
2913  DWORD Unknown0,
2914  DWORD Unknown1,
2915  DWORD Unknown2,
2916  DWORD Unknown3,
2917  DWORD Unknown4);
2918 
2919 #define QUERY_WINDOW_UNIQUE_PROCESS_ID 0x00
2920 #define QUERY_WINDOW_UNIQUE_THREAD_ID 0x01
2921 #define QUERY_WINDOW_ACTIVE 0x02
2922 #define QUERY_WINDOW_FOCUS 0x03
2923 #define QUERY_WINDOW_ISHUNG 0x04
2924 #define QUERY_WINDOW_REAL_ID 0x05
2925 #define QUERY_WINDOW_FOREGROUND 0x06
2926 #define QUERY_WINDOW_DEFAULT_IME 0x07
2927 #define QUERY_WINDOW_DEFAULT_ICONTEXT 0x08
2928 #define QUERY_WINDOW_ACTIVE_IME 0x09
2929 
2930 DWORD_PTR
2931 NTAPI
2933  HWND hWnd,
2934  DWORD Index);
2935 
2936 BOOL
2937 NTAPI
2939  LPMSG lpMsg,
2940  HWND hWnd,
2941  UINT wMsgFilterMin,
2942  UINT wMsgFilterMax,
2943  UINT wRemoveMsg,
2944  BOOL bGMSG);
2945 
2946 HWND
2947 NTAPI
2949  HWND Parent,
2950  LONG x,
2951  LONG y);
2952 
2953 BOOL
2954 NTAPI
2956  DWORD dwWakeMask,
2957  UINT uTimeout);
2958 
2959 BOOL
2960 NTAPI
2962  HWND hWnd,
2963  CONST RECT *lprcUpdate,
2964  HRGN hrgnUpdate,
2965  UINT flags);
2966 
2967 RTL_ATOM
2968 NTAPI
2970  WNDCLASSEXW* lpwcx,
2971  PUNICODE_STRING pustrClassName,
2972  PUNICODE_STRING pustrCVersion,
2973  PCLSMENUNAME pClassMenuName,
2974  DWORD fnID,
2975  DWORD Flags,
2976  LPDWORD pWow);
2977 
2978 BOOL
2979 NTAPI
2981  IN PCRAWINPUTDEVICE pRawInputDevices,
2982  IN UINT uiNumDevices,
2983  IN UINT cbSize);
2984 
2985 BOOL
2986 NTAPI
2988  PUNICODE_STRING m_dllname1,
2989  PUNICODE_STRING m_funname1,
2990  DWORD dwUnknown3,
2991  DWORD dwUnknown4);
2992 
2993 BOOL
2994 NTAPI
2996  HWND hWnd,
2997  int id,
2998  UINT fsModifiers,
2999  UINT vk);
3000 
3001 DWORD
3002 NTAPI
3004  DWORD Unknown0);
3005 
3006 UINT
3007 NTAPI
3009  PUNICODE_STRING MessageName);
3010 
3011 DWORD
3012 NTAPI
3014  DWORD dwUnknown1,
3015  DWORD dwUnknown2,
3016  DWORD dwUnknown3);
3017 
3018 DWORD
3019 NTAPI
3021  DWORD dwUnknown1,
3022  DWORD dwUnknown2,
3023  DWORD dwUnknown3,
3024  DWORD dwUnknown4);
3025 
3026 DWORD
3027 NTAPI
3029 
3030 DWORD
3031 NTAPI
3033 
3034 HANDLE
3035 NTAPI
3037  HWND hWnd,
3038  ATOM Atom);
3039 
3040 HDESK
3041 NTAPI
3044  IN PUNICODE_STRING DesktopPath,
3045  IN BOOL bInherit,
3046  OUT HWINSTA* phWinSta);
3047 
3048 DWORD
3049 NTAPI
3051  DWORD Unknown0);
3052 
3053 BOOL
3054 NTAPI
3056  HWND hwnd,
3057  int fnBar,
3058  PSBDATA pSBData,
3059  LPSCROLLINFO lpsi);
3060 
3061 BOOL
3062 NTAPI
3064  HDC hDC,
3065  int dx,
3066  int dy,
3067  CONST RECT *lprcScroll,
3068  CONST RECT *lprcClip ,
3069  HRGN hrgnUpdate,
3070  LPRECT lprcUpdate);
3071 
3072 DWORD
3073 NTAPI
3075  HWND hWnd,
3076  INT dx,
3077  INT dy,
3078  const RECT *rect,
3079  const RECT *clipRect,
3080  HRGN hrgnUpdate,
3081  LPRECT rcUpdate,
3082  UINT flags);
3083 
3084 UINT
3085 NTAPI
3087  UINT nInputs,
3088  LPINPUT pInput,
3089  INT cbSize);
3090 
3091 HWND
3092 NTAPI
3094  HWND Wnd);
3095 
3096 BOOL
3097 NTAPI
3099  HWND hWnd,
3100  DWORD dwLevel);
3101 
3102 HWND
3103 NTAPI
3105  HWND Wnd);
3106 
3107 ULONG_PTR
3108 NTAPI
3110  HWND hWnd,
3111  INT Offset,
3112  ULONG_PTR dwNewLong,
3113  BOOL Ansi);
3114 
3115 WORD
3116 NTAPI
3118  HWND hWnd,
3119  INT nIndex,
3120  WORD wNewWord);
3121 
3122 HANDLE
3123 NTAPI
3125  UINT fmt,
3126  HANDLE hMem,
3127  PSETCLIPBDATA scd);
3128 
3129 HWND
3130 NTAPI
3132  HWND hWndNewViewer);
3133 
3134 HPALETTE
3135 NTAPI
3137  HDC hDC,
3138  HPALETTE hpal,
3139  BOOL ForceBackground);
3140 
3141 DWORD
3142 NTAPI
3144  DWORD Unknown0,
3145  DWORD Unknown1);
3146 
3147 HCURSOR
3148 NTAPI
3150  HCURSOR hCursor);
3151 
3152 BOOL
3153 NTAPI
3155  HANDLE Handle,
3157 
3158 BOOL
3159 NTAPI
3161  _In_ HCURSOR hCursor,
3162  _In_opt_ PUNICODE_STRING pustrModule,
3163  _In_opt_ PUNICODE_STRING puSrcName,
3164  _In_ const CURSORDATA *pCursorData);
3165 
3167 {
3172 
3173 HICON
3174 NTAPI
3176  _In_ PUNICODE_STRING pustrModule,
3177  _In_ PUNICODE_STRING pustrRsrc,
3179 
3180 DWORD
3181 NTAPI
3183  DWORD Unknown0,
3184  DWORD Unknown1);
3185 
3186 DWORD
3187 APIENTRY
3189  DWORD Unknown0);
3190 
3191 HWND
3192 NTAPI
3194  HWND hWnd);
3195 
3196 BOOL
3197 NTAPI
3199  DWORD dwHotKeyId,
3200  UINT uModifiers,
3201  UINT uVirtualKey,
3202  HKL hKL,
3203  DWORD dwAction);
3204 
3205 BOOL
3206 NTAPI
3208  PIMEINFOEX pImeInfoEx);
3209 
3210 BOOL
3211 NTAPI
3212 NtUserSetImeOwnerWindow(HWND hImeWnd, HWND hwndFocus);
3213 
3214 DWORD
3215 NTAPI
3217  DWORD dwUnknown1,
3218  DWORD dwUnknown2,
3219  DWORD dwUnknown3,
3220  DWORD dwUnknown4);
3221 
3222 NTSTATUS
3223 NTAPI
3225  IN HANDLE ThreadHandle,
3227  IN PVOID ThreadInformation,
3229 
3230 DWORD
3231 NTAPI
3233  HWND hwnd,
3234  UINT showCmd,
3235  LPRECT rect,
3236  LPPOINT pt);
3237 
3238 BOOL
3239 NTAPI
3241  LPBYTE lpKeyState);
3242 
3243 BOOL
3244 NTAPI
3246  HWND hwnd,
3247  COLORREF crKey,
3248  BYTE bAlpha,
3249  DWORD dwFlags);
3250 
3251 BOOL
3252 NTAPI
3254  HWND hWnd);
3255 
3256 BOOL
3257 NTAPI
3259  HANDLE hObject,
3260  DWORD nIndex,
3261  PVOID pvInformation,
3262  DWORD nLength);
3263 
3264 HWND
3265 NTAPI
3267  HWND hWndChild,
3268  HWND hWndNewParent);
3269 
3270 BOOL
3271 NTAPI
3273  HWINSTA hWindowStation);
3274 
3275 BOOL
3276 NTAPI
3278  HWND hWnd,
3279  ATOM Atom,
3280  HANDLE Data);
3281 
3282 DWORD
3283 NTAPI
3285  DWORD Unknown0);
3286 
3287 DWORD
3288 NTAPI
3290  HWND hwnd,
3291  int fnBar,
3292  LPCSCROLLINFO lpsi,
3293  BOOL bRedraw);
3294 
3295 BOOL
3296 NTAPI
3298  HWND hwndShell,
3299  HWND hwndShellListView);
3300 
3301 BOOL
3302 NTAPI
3304  int cElements,
3305  IN CONST INT *lpaElements,
3306  IN CONST COLORREF *lpaRgbValues,
3307  FLONG Flags);
3308 
3309 BOOL
3310 NTAPI
3312  HCURSOR hcur,
3313  DWORD id);
3314 
3315 BOOL
3316 NTAPI
3318  HDESK hDesktop);
3319 
3320 DWORD
3321 NTAPI
3323  DWORD Unknown0,
3324  DWORD Unknown1);
3325 
3326 UINT_PTR
3327 NTAPI
3329  HWND hWnd,
3330  UINT_PTR nIDEvent,
3331  UINT uElapse,
3332  TIMERPROC lpTimerFunc);
3333 
3334 DWORD
3335 NTAPI
3336 NtUserSetThreadLayoutHandles(HKL hNewKL, HKL hOldKL);
3337 
3338 UINT_PTR
3339 NTAPI
3341  HWND hWnd,
3342  UINT_PTR nIDEvent,
3343  UINT uElapse,
3344  TIMERPROC lpTimerFunc);
3345 
3346 BOOL
3347 NTAPI
3349  HWND hWnd,
3350  WORD fnID);
3351 
3352 LONG
3353 NTAPI
3355  HWND hWnd,
3356  DWORD Index,
3357  LONG NewValue,
3358  BOOL Ansi);
3359 
3360 #ifdef _WIN64
3361 LONG_PTR
3362 NTAPI
3363 NtUserSetWindowLongPtr(
3364  HWND hWnd,
3365  DWORD Index,
3366  LONG_PTR NewValue,
3367  BOOL Ansi);
3368 #endif // _WIN64
3369 
3370 BOOL
3371 NTAPI
3373  HWND hWnd,
3374  WINDOWPLACEMENT *lpwndpl);
3375 
3376 BOOL
3377 NTAPI
3379  HWND hWnd,
3380  HWND hWndInsertAfter,
3381  int X,
3382  int Y,
3383  int cx,
3384  int cy,
3385  UINT uFlags);
3386 
3387 INT
3388 NTAPI
3390  HWND hWnd,
3391  HRGN hRgn,
3392  BOOL bRedraw);
3393 
3394 HHOOK
3395 NTAPI
3397  int idHook,
3398  HOOKPROC lpfn,
3399  BOOL Ansi);
3400 
3401 HHOOK
3402 NTAPI
3404  HINSTANCE Mod,
3406  DWORD ThreadId,
3407  int HookId,
3408  HOOKPROC HookProc,
3409  BOOL Ansi);
3410 
3411 BOOL
3412 NTAPI
3414  IN HWINSTA hWindowStation,
3415  IN PLUID pluid,
3416  IN PSID psid OPTIONAL,
3417  IN DWORD size);
3418 
3419 WORD
3420 NTAPI
3422  HWND hWnd,
3423  INT Index,
3424  WORD NewVal);
3425 
3427 NTAPI
3429  UINT eventMin,
3430  UINT eventMax,
3431  HMODULE hmodWinEventProc,
3432  PUNICODE_STRING puString,
3433  WINEVENTPROC lpfnWinEventProc,
3434  DWORD idProcess,
3435  DWORD idThread,
3436  UINT dwflags);
3437 
3438 BOOL
3439 NTAPI
3441  HWND hWnd);
3442 
3443 BOOL
3444 NTAPI
3446  HWND hWnd);
3447 
3448 DWORD
3449 NTAPI
3451  HWND hWnd,
3452  int wBar,
3453  DWORD bShow);
3454 
3455 BOOL
3456 NTAPI
3458  HWND hWnd,
3459  LONG nCmdShow);
3460 
3461 BOOL
3462 NTAPI
3464  HWND hWnd,
3465  LONG nCmdShow);
3466 
3467 BOOL
3468 NTAPI
3470 
3471 BOOL
3472 NTAPI
3474  HDESK hDesktop);
3475 
3476 BOOL
3477 NTAPI
3479  UINT uiAction,
3480  UINT uiParam,
3481  PVOID pvParam,
3482  UINT fWinIni);
3483 
3484 DWORD
3485 NTAPI
3487  DWORD dwUnknown1);
3488 
3489 INT
3490 NTAPI
3492  UINT wVirtKey,
3493  UINT wScanCode,
3494  PBYTE lpKeyState,
3495  LPWSTR pwszBuff,
3496  int cchBuff,
3497  UINT wFlags,
3498  HKL dwhkl);
3499 
3500 BOOL
3501 NTAPI
3503  LPTRACKMOUSEEVENT lpEventTrack);
3504 
3505 int
3506 NTAPI
3508  HWND Window,
3509  HACCEL Table,
3510  LPMSG Message);
3511 
3512 BOOL
3513 NTAPI
3515  LPMSG lpMsg,
3516  UINT flags );
3517 
3518 BOOL
3519 NTAPI
3521  HHOOK Hook);
3522 
3523 BOOL
3524 NTAPI
3526  HWINEVENTHOOK hWinEventHook);
3527 
3528 BOOL
3529 NTAPI
3531  HKL hKl);
3532 
3533 BOOL
3534 NTAPI
3536  HWINSTA hWindowStation);
3537 
3538 BOOL
3539 NTAPI
3541  PUNICODE_STRING ClassNameOrAtom,
3543  PCLSMENUNAME pClassMenuName);
3544 
3545 BOOL
3546 NTAPI
3548  HWND hWnd,
3549  int id);
3550 
3551 BOOL
3552 NTAPI
3554 
3555 BOOL
3556 NTAPI
3558  HIMC hIMC,
3559  DWORD dwType,
3560  DWORD_PTR dwValue);
3561 
3562 DWORD
3563 NTAPI
3565  DWORD Unknown0,
3566  DWORD Unknown1,
3567  DWORD Unknown2);
3568 
3569 BOOL
3570 NTAPI
3572  HWND hwnd,
3573  HDC hdcDst,
3574  POINT *pptDst,
3575  SIZE *psize,
3576  HDC hdcSrc,
3577  POINT *pptSrc,
3578  COLORREF crKey,
3579  BLENDFUNCTION *pblend,
3580  DWORD dwFlags,
3581  RECT *prcDirty);
3582 
3583 BOOL
3584 NTAPI
3586  DWORD dwReserved,
3587  BOOL bEnable);
3588 
3589 BOOL
3590 NTAPI
3592  IN HANDLE hUserHandle,
3593  IN HANDLE hJob,
3594  IN BOOL bGrant);
3595 
3596 BOOL
3597 NTAPI
3599  HANDLE hHdl);
3600 
3601 BOOL
3602 NTAPI
3604  HWND hWnd,
3605  CONST RECT *lpRect);
3606 
3607 BOOL
3608 APIENTRY
3610  LPARAM lParam);
3611 
3612 DWORD
3613 NTAPI
3615  WCHAR wChar,
3617  BOOL bUsehHK);
3618 
3619 DWORD
3620 NTAPI
3622  IN HANDLE hProcess,
3623  IN DWORD dwMilliseconds,
3624  IN BOOL bSharedWow); /* Always FALSE */
3625 
3626 DWORD
3627 NTAPI
3629  DWORD Unknown0);
3630 
3631 BOOL
3632 NTAPI
3634 
3635 DWORD
3636 NTAPI
3638  DWORD Unknown0,
3639  DWORD Unknown1,
3640  DWORD Unknown2,
3641  DWORD Unknown3,
3642  DWORD Unknown4,
3643  DWORD Unknown5);
3644 
3645 HWND
3646 NTAPI
3648  LONG X,
3649  LONG Y);
3650 
3651 DWORD
3652 NTAPI
3654 
3655 /* NtUserBad
3656  * ReactOS-specific NtUser calls and their related structures, both which shouldn't exist.
3657  */
3658 
3659 #define NOPARAM_ROUTINE_ISCONSOLEMODE 0xffff0001
3660 #define ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING 0xfffe000d
3661 #define ONEPARAM_ROUTINE_GETDESKTOPMAPPING 0xfffe000e
3662 #define TWOPARAM_ROUTINE_SETMENUBARHEIGHT 0xfffd0050
3663 #define TWOPARAM_ROUTINE_SETGUITHRDHANDLE 0xfffd0051
3664 #define HWNDLOCK_ROUTINE_SETFOREGROUNDWINDOWMOUSE 0xfffd0052
3665 
3666 #define MSQ_STATE_CAPTURE 0x1
3667 #define MSQ_STATE_ACTIVE 0x2
3668 #define MSQ_STATE_FOCUS 0x3
3669 #define MSQ_STATE_MENUOWNER 0x4
3670 #define MSQ_STATE_MOVESIZE 0x5
3671 #define MSQ_STATE_CARET 0x6
3672 
3673 #define TWOPARAM_ROUTINE_ROS_UPDATEUISTATE 0x1004
3674 #define HWNDPARAM_ROUTINE_ROS_NOTIFYWINEVENT 0x1005
3675 
3676 BOOL
3677 NTAPI
3679  IN HMONITOR hMonitor,
3680  OUT LPMONITORINFO pMonitorInfo);
3681 
3682 /* Should be done in usermode */
3683 
3684 HMONITOR
3685 NTAPI
3687  IN POINT point,
3688  IN DWORD dwFlags);
3689 
3690 HMONITOR
3691 NTAPI
3693  IN LPCRECT pRect,
3694  IN DWORD dwFlags);
3695 
3696 HMONITOR
3697 NTAPI
3699  IN HWND hWnd,
3700  IN DWORD dwFlags);
3701 
3702 typedef struct _SETSCROLLBARINFO
3703 {
3708 
3709 BOOL
3710 NTAPI
3712  HWND hwnd,
3713  LONG idObject,
3715 
3716 #endif /* __WIN32K_NTUSER_H */
3717 
3718 /* EOF */
ULONG fFreed
Definition: ntuser.h:444
ULONG bAnsi
Definition: ntuser.h:93
struct tagOEMBITMAPINFO OEMBITMAPINFO
INT aiSysMet[SM_CMETRICS]
Definition: ntuser.h:980
DWORD NTAPI NtUserAssociateInputContext(HWND hWnd, HIMC hIMC, DWORD dwFlags)
Definition: ime.c:1684
DWORD NTAPI NtUserSetThreadLayoutHandles(HKL hNewKL, HKL hOldKL)
Definition: ime.c:516
WCHAR szName[16]
Definition: ntuser.h:956
WND wnd
Definition: ntuser.h:760
HKL NTAPI NtUserGetKeyboardLayout(DWORD dwThreadid)
DWORD_PTR dwMenuData
Definition: ntuser.h:413
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:772
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:1151
signed char * PCHAR
Definition: retypes.h:7
INT cxBmp
Definition: ntuser.h:372
UINT NTAPI NtUserEnableMenuItem(HMENU hMenu, UINT uIDEnableItem, UINT uEnable)
Definition: menu.c:5857
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:1034
ULONG_PTR cHandleEntries
Definition: ntuser.h:1023
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:2642
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:5662
HWND hWnd
Definition: ntuser.h:420
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:35
ULONG fsHooks
Definition: ntuser.h:311
HFONT hMsgFont
Definition: ntuser.h:965
UINT uCodePage
Definition: ntuser.h:1254
POINT MaxPos
Definition: ntuser.h:731
struct tagMBSTRING * PMBSTRING
BOOL NTAPI NtUserTrackMouseEvent(LPTRACKMOUSEEVENT lpEventTrack)
Definition: mouse.c:482
BOOL NTAPI NtUserGetCaretPos(LPPOINT lpPoint)
Definition: caret.c:398
const uint16_t * PCWSTR
Definition: typedefs.h:57
DWORD dwReserved
Definition: ntuser.h:761
#define IN
Definition: typedefs.h:39
CALLBACKWND CallbackWnd
Definition: ntuser.h:312
GLint GLint GLsizei width
Definition: gl.h:1546
#define LONG_PTR
Definition: treelist.c:79
DWORD_PTR dwItemData
Definition: ntuser.h:363
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
IMEINFO ImeInfo
Definition: ntuser.h:1253
ULONG Win32ClientInfo3[26]
Definition: ntuser.h:327
WORD fsWakeBitsJournal
Definition: ntuser.h:165
DWORD ExStyle
Definition: ntuser.h:683
PVOID pSelf
Definition: ntuser.h:187
ASMGENDATA Table[]
Definition: genincdata.c:61
static HICON
Definition: imagelist.c:84
UINT wID
Definition: ntuser.h:357
_GETCPD
Definition: ntuser.h:521
INT cInDDEMLCallback
Definition: ntuser.h:314
WNDPROC pfnStaticWndProc
Definition: ntuser.h:789
INT cpxThumb
Definition: ntuser.h:511
DWORD dwProdVersion
Definition: ntuser.h:1184
LPWSTR lpName
Definition: ntuser.h:1142
DWORD NTAPI NtUserDdeInitialize(DWORD Unknown0, DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
Definition: dde.c:465
HWND hTaskManWindow
Definition: ntuser.h:137
UINT HideFocus
Definition: ntuser.h:737
struct _DESKTOP * rpdeskParent
Definition: ntuser.h:554
struct _WND * spwndPopupMenu
Definition: ntuser.h:453
LPARAM lParam
Definition: ntuser.h:1235
INT fCUASLayer
Definition: ntuser.h:1191
unsigned short RTL_ATOM
Definition: atom.c:42
ULONG CURSORF_flags
Definition: ntuser.h:1146
INT page
Definition: ntuser.h:505
LIST_ENTRY ThreadListEntry
Definition: ntuser.h:743
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:463
WNDPROC pfnClientPrevious
Definition: ntuser.h:535
INT fSysWow64Only
Definition: ntuser.h:1190
struct _DESKTOPINFO DESKTOPINFO
DWORD_PTR NTAPI NtUserGetThreadState(DWORD Routine)
Definition: misc.c:232
_Must_inspect_result_ _Out_ LPSIZE psize
Definition: ntgdi.h:1569
HDESK NTAPI NtUserOpenInputDesktop(DWORD dwFlags, BOOL fInherit, ACCESS_MASK dwDesiredAccess)
Definition: desktop.c:2675
struct _DESKTOP * rpdesk
Definition: ntuser.h:186
#define _In_opt_
Definition: ms_sal.h:309
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
BOOL WINAPI ImeSetCompositionString(HIMC, DWORD, LPCVOID, DWORD, LPCVOID, DWORD)
DWORD NTAPI NtUserWaitForInputIdle(IN HANDLE hProcess, IN DWORD dwMilliseconds, IN BOOL bSharedWow)
Definition: message.c:3056
INT fInitOpen
Definition: ntuser.h:1182
DPISERVERINFO dpiSystem
Definition: ntuser.h:999
#define FNID_NUMSERVERPROC
Definition: ntuser.h:874
C_ASSERT(offsetof(IMC, head.h)==0x0)
ULONG fToggle
Definition: ntuser.h:433
#define _Inout_
Definition: ms_sal.h:378
DWORD NTAPI NtUserRemoteRedrawScreen(VOID)
Definition: ntstubs.c:883
enum _CONSOLECONTROL CONSOLECONTROL
ULONG PropListItems
Definition: ntuser.h:703
HBRUSH hbrBack
Definition: ntuser.h:414
DWORD NTAPI NtUserDragObject(HWND hwnd1, HWND hwnd2, UINT u1, DWORD dw1, HCURSOR hc1)
Definition: ntstubs.c:48
DWORD ExStyle2
Definition: ntuser.h:724
GLint x0
Definition: linetemp.h:95
static HMENU hmenu
Definition: win.c:66
DWORD fsHooks
Definition: ntuser.h:134
#define Y(I)
HWND NTAPI NtUserSetCapture(HWND Wnd)
Definition: focus.c:1700
_Out_opt_ PICONINFO _Inout_opt_ PUNICODE_STRING lpInstName
Definition: ntuser.h:2386
struct tagMENULIST * PMENULIST
ULONG fIsSysMenu
Definition: ntuser.h:428
struct _THREADINFO * pti
Definition: ntuser.h:22
struct _CLS CLS
HANDLE hLocale
Definition: ntuser.h:1128
struct tagDDEPACK * PDDEPACK
DWORD NTAPI NtUserModifyUserStartupInfoFlags(DWORD Unknown0, DWORD Unknown1)
Definition: ntstubs.c:189
ULONG fRightButton
Definition: ntuser.h:432
struct _WNDMSG WNDMSG
DWORD NTAPI NtUserGetListBoxInfo(HWND hWnd)
Definition: window.c:3561
PVOID Buffer
Definition: ntuser.h:94
#define _At_(target, annos)
Definition: ms_sal.h:244
LPSTR pszClientAnsiMenuName
Definition: ntuser.h:481
enum _CONSOLECONTROL * PCONSOLECONTROL
BOOL NTAPI NtUserThunkedMenuItemInfo(HMENU hMenu, UINT uItem, BOOL fByPosition, BOOL bInsert, LPMENUITEMINFOW lpmii, PUNICODE_STRING lpszCaption)
Definition: menu.c:6557
CHAR acOemToAnsi[256]
Definition: ntuser.h:1040
struct outqueuenode * head
Definition: adnsresfilter.c:66
#define ANYSIZE_ARRAY
Definition: typedefs.h:46
BOOL NTAPI NtUserDestroyCursor(_In_ HANDLE Handle, _In_ BOOL bForce)
Definition: cursoricon.c:793
UINT Dummy
Definition: ntuser.h:147
BOOL NTAPI NtUserAttachThreadInput(IN DWORD idAttach, IN DWORD idAttachTo, IN BOOL fAttach)
Definition: input.c:665
struct _CLIENTTHREADINFO * PCLIENTTHREADINFO
WORD ATOM
Definition: dimm.idl:113
struct tagMENULIST * pNext
Definition: ntuser.h:380
struct _THROBJHEAD THROBJHEAD
HPALETTE NTAPI NtUserSelectPalette(HDC hDC, HPALETTE hpal, BOOL ForceBackground)
Definition: windc.c:1034
Definition: ftp_var.h:139
HWND NTAPI NtUserGetAncestor(HWND hWnd, UINT Flags)
Definition: window.c:3391
struct _WND::@4899 InternalPos
ATOM atomFrostedWindowProp
Definition: ntuser.h:1039
HKL NTAPI NtUserActivateKeyboardLayout(HKL hKl, ULONG Flags)
Definition: kbdlayout.c:758
struct tagCURSORDATA * aspcur
Definition: ntuser.h:1159
#define pt(x, y)
Definition: drawing.c:79
struct _CLIENTINFO CLIENTINFO
WNDPROC pfnGhostWndProc
Definition: ntuser.h:791
LRESULT NTAPI NtUserCallNextHookEx(int Code, WPARAM wParam, LPARAM lParam, BOOL Ansi)
Definition: hook.c:1371
UINT ucWheelScrollLines
Definition: ntuser.h:992
struct tagCURSORDATA * PCURSORDATA
LONG NTAPI NtUserChangeDisplaySettings(PUNICODE_STRING lpszDeviceName, LPDEVMODEW lpDevMode, DWORD dwflags, LPVOID lParam)
Definition: display.c:946
INT page
Definition: ntuser.h:490
WNDPROC pfnEditWndProc
Definition: ntuser.h:786
ULONG_PTR dwClientImcData
Definition: ntuser.h:194
UINT NTAPI NtUserGetMenuIndex(HMENU hMenu, HMENU hSubMenu)
Definition: menu.c:6070
uint16_t * PWSTR
Definition: typedefs.h:56
unsigned char type
Definition: ntuser.h:25
HINSTANCE hModule
Definition: ntuser.h:687
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:6617
UINT fFreeActiveEvent
Definition: ntuser.h:1220
WNDPROC lpfnWndProc
Definition: ntuser.h:697
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:567
static DWORD DWORD istep
Definition: cursoricon.c:1638
SBDATA Vert
Definition: ntuser.h:498
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:173
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:2562
TW_UINT32 TW_UINT16 TW_UINT16 MSG
Definition: twain.h:1827
LIST_ENTRY ListEntry
Definition: ntuser.h:419
struct tagMENULIST MENULIST
NTSTATUS NTAPI NtUserBuildHimcList(DWORD dwThreadId, DWORD dwCount, HIMC *phList, LPDWORD pdwCount)
Definition: ime.c:697
HDESK hDesk
Definition: ntuser.h:1081
WNDPROC_EX pfnStaticWndProc
Definition: ntuser.h:822
DWORD recipients
Definition: ntuser.h:1080
WNDPROC pfnDefWindowProc
Definition: ntuser.h:779
HWND NTAPI NtUserGetClipboardViewer(VOID)
Definition: clipboard.c:800
UINT fState
Definition: ntuser.h:356
struct _PFNCLIENT * PPFNCLIENT
struct _tagFINDEXISTINGCURICONPARAM FINDEXISTINGCURICONPARAM
ULONG fDestroyed
Definition: ntuser.h:441
LONG cLockObj
Definition: ntuser.h:1304
BOOL NTAPI NtUserUnlockWindowStation(HWINSTA hWindowStation)
Definition: winsta.c:1571
_Out_opt_ PICONINFO _Inout_opt_ PUNICODE_STRING _Inout_opt_ PUNICODE_STRING _Out_opt_ LPDWORD pbpp
Definition: ntuser.h:2386
Definition: ntuser.h:190
BOOL NTAPI NtUserCloseClipboard(VOID)
Definition: clipboard.c:589
*nSize LPSTR _Inout_ LPDWORD nSize
Definition: winbase.h:2058
LONG NTSTATUS
Definition: precomp.h:26
struct tagHOOK * phkNext
Definition: ntuser.h:232
DWORD NTAPI NtUserGetInternalWindowPos(HWND hwnd, LPRECT rectWnd, LPPOINT ptIcon)
Definition: winpos.c:3235
UINT WINAPI ImeEnumRegisterWord(REGISTERWORDENUMPROCW, LPCWSTR, DWORD, LPCWSTR, LPVOID)
PVOID pActCtx
Definition: ntuser.h:288
ULONG ulWidth
Definition: ntuser.h:370
ULONG hTaskWow
Definition: ntuser.h:218
ULONG MaximumLength
Definition: ntuser.h:102
DWORD APIENTRY NtUserDbgWin32HeapFail(DWORD Unknown0, DWORD Unknown1)
Definition: ntstubs.c:266
static HDC
Definition: imagelist.c:92
ULONG_PTR CI_flags
Definition: ntuser.h:302
#define CALLBACK
Definition: compat.h:35
_In_ DWORD nLength
Definition: wincon.h:473
struct _REGISTER_SYSCLASS * PREGISTER_SYSCLASS
INT pxRight
Definition: ntuser.h:510
UINT cicur
Definition: ntuser.h:1158
LIST_ENTRY PropListHead
Definition: ntuser.h:702
LPWSTR pwszClientUnicodeMenuName
Definition: ntuser.h:482
TRANSMSG TransMsg[ANYSIZE_ARRAY]
Definition: ntuser.h:1241
HWND hWnd
Definition: settings.c:17
ULONG cch
Definition: ntuser.h:362
ULONG fInCancel
Definition: ntuser.h:445
WNDPROC pfnMessageWindowProc
Definition: ntuser.h:780
UINT Global
Definition: ntuser.h:576
#define CCHILDREN_SCROLLBAR
Definition: winuser.h:3725
struct tagOEMBITMAPINFO * POEMBITMAPINFO
DWORD NTAPI NtUserNotifyIMEStatus(HWND hwnd, BOOL fOpen, DWORD dwConversion)
Definition: ime.c:809
BOOL NTAPI NtUserEndDeferWindowPosEx(HDWP WinPosInfo, BOOL bAsync)
Definition: winpos.c:3165
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES IN DWORD IN DWORD IN DWORD IN DWORD Unknown6
Definition: conport.c:35
HKL hKL
Definition: ntuser.h:1210
struct tagIMEINFOEX IMEINFOEX
INT pos
Definition: ntuser.h:491
HANDLE HWND
Definition: compat.h:19
PWND spwnd
Definition: ntuser.h:1207
struct _WND * spwndActivePopup
Definition: ntuser.h:458
PSBINFO pSBInfo
Definition: ntuser.h:705
struct _WND WND
SHORT xHotspot
Definition: ntuser.h:1147
static HRGN hRgn
Definition: mapping.c:33
BOOL NTAPI NtUserGetScrollBarInfo(HWND hWnd, LONG idObject, PSCROLLBARINFO psbi)
Definition: scrollbar.c:1261
ULONG cyItem
Definition: ntuser.h:367
BOOL NTAPI NtUserRegisterRawInputDevices(IN PCRAWINPUTDEVICE pRawInputDevices, IN UINT uiNumDevices, IN UINT cbSize)
Definition: ntstubs.c:640
INT NTAPI NtUserInternalGetWindowText(HWND hWnd, LPWSTR lpString, INT nMaxCount)
Definition: window.c:4584
HMENU SystemMenu
Definition: ntuser.h:707
INT NTAPI NtUserGetPriorityClipboardFormat(UINT *paFormatPriorityList, INT cFormats)
Definition: clipboard.c:823
DWORD_PTR NTAPI NtUserCallOneParam(DWORD_PTR Param, DWORD Routine)
Definition: simplecall.c:158
WNDPROC pfnDialogWndProc
Definition: ntuser.h:785
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:361
HWND NTAPI NtUserChildWindowFromPointEx(HWND Parent, LONG x, LONG y, UINT Flags)
Definition: winpos.c:3144
ULONG yItem
Definition: ntuser.h:365
struct _WND * spwndNotify
Definition: ntuser.h:408
HBRUSH NTAPI NtUserGetControlBrush(HWND hwnd, HDC hdc, UINT ctlType)
Definition: misc.c:183
BOOL TimeToHide
Definition: ntuser.h:421
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:1149
BOOL NTAPI NtUserCheckWindowThreadDesktop(HWND hwnd, DWORD dwThreadId, ULONG ReturnValue)
uint32_t * LPUINT
Definition: typedefs.h:59
struct _CURICON_OBJECT * spcur
Definition: ntuser.h:569
LONG nCntInIMEProc
Definition: ntuser.h:1212
ULONG fHierarchyDropped
Definition: ntuser.h:431
struct _SBWND SBWND
BOOL NTAPI NtUserFillWindow(HWND hWndPaint, HWND hWndPaint1, HDC hDC, HBRUSH hBrush)
Definition: painting.c:1705
USHORT dmLogPixels
Definition: ntuser.h:1008
BOOL NTAPI NtUserDdeGetQualityOfService(IN HWND hwndClient, IN HWND hWndServer, OUT PSECURITY_QUALITY_OF_SERVICE pqosPrev)
Definition: dde.c:430
struct tagCLIENTIMC CLIENTIMC
ULONG fIsTrackPopup
Definition: ntuser.h:429
DWORD dwExpWinVer
Definition: ntuser.h:304
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:321
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:871
enum _GETCPD * PGETCPD
RECT rcClient
Definition: ntuser.h:696
#define _Out_z_bytecap_post_bytecount_(cap, count)
Definition: ms_sal.h:911
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:899
UINT uFlags
Definition: api.c:59
GLdouble u1
Definition: glext.h:8308
static HDC hdcSrc
Definition: xlate.c:32
HIMC hImc
Definition: ntuser.h:719
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:2386
static HWINEVENTHOOK(WINAPI *pSetWinEventHook)(DWORD
char * LPSTR
Definition: xmlstorage.h:182
struct _CLS * pclsClone
Definition: ntuser.h:561
BOOL NTAPI NtUserSetImeInfoEx(PIMEINFOEX pImeInfoEx)
Definition: ime.c:1111
WNDPROC pfnComboListBoxProc
Definition: ntuser.h:784
_CONSOLECONTROL
Definition: ntuser.h:1888
INT WSBflags
Definition: ntuser.h:496
ATOM atomContextHelpIdProp
Definition: ntuser.h:1038
struct _PFNCLIENT PFNCLIENT
BOOL NTAPI NtUserGetMenuBarInfo(HWND hwnd, LONG idObject, LONG idItem, PMENUBARINFO pmbi)
Definition: menu.c:5915
struct tagPOPUPMENU * PPOPUPMENU
#define BOOL
Definition: nt_native.h:43
HDC NTAPI NtUserGetDC(HWND hWnd)
Definition: windc.c:1014
MENUINFO CONST * LPCMENUINFO
Definition: winuser.h:3724
struct tagSBINFO * PSBINFO
struct _WND * spwndClipboardListener
Definition: ntuser.h:723
#define MAX_MB_STRINGS
Definition: ntuser.h:925
struct _REGISTER_SYSCLASS REGISTER_SYSCLASS
UNICODE_STRING lpstr
Definition: ntuser.h:375
RTL_ATOM atomClassName
Definition: ntuser.h:551
struct _PROCESSINFO * ppi
Definition: ntuser.h:23
BOOL NTAPI NtUserInvalidateRect(HWND hWnd, CONST RECT *lpRect, BOOL bErase)
Definition: painting.c:2547
BOOL NTAPI NtUserGetMonitorInfo(IN HMONITOR hMonitor, OUT LPMONITORINFO pMonitorInfo)
Definition: monitor.c:728
int32_t INT
Definition: typedefs.h:58
NTSTATUS NTAPI NtUserInitializeClientPfnArrays(PPFNCLIENT pfnClientA, PPFNCLIENT pfnClientW, PPFNCLIENTWORKER pfnClientWorker, HINSTANCE hmodUser)
Definition: ntstubs.c:101
struct _THREADINFO * ptiHooked
Definition: ntuser.h:237
struct _LARGE_ANSI_STRING LARGE_ANSI_STRING
struct tagDPISERVERINFO * PDPISERVERINFO
COLORREF argbSystem[NUM_SYSCOLORS]
Definition: ntuser.h:982
BOOL NTAPI NtUserEnableScrollBar(HWND hWnd, UINT wSBflags, UINT wArrows)
Definition: scrollbar.c:1371
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:568
WPARAM wParam
Definition: combotst.c:138
INT pxTop
Definition: ntuser.h:507
struct _PROCDESKHEAD * PPROCDESKHEAD
UINT NTAPI NtUserSendInput(UINT nInputs, LPINPUT pInput, INT cbSize)
Definition: input.c:708
PIMEUI pimeui
Definition: ntuser.h:1228
_OBI_TYPES
Definition: ntuser.h:943
ATOM atomNVClassName
Definition: