ReactOS  0.4.15-dev-3739-gff9301e
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 typedef struct _PROCDESKHEAD
199 {
202  struct _DESKTOP *rpdesk;
205 
206 typedef struct _PROCMARKHEAD
207 {
210  struct _PROCESSINFO *ppi;
212 
213 #define UserHMGetHandle(obj) ((obj)->head.h)
214 
215 /* Window Client Information structure */
216 struct _ETHREAD;
217 
218 #define WEF_SETBYWNDPTI 0x0001
219 
220 typedef struct tagHOOK
221 {
223  struct tagHOOK *phkNext; /* This is for user space. */
224  int HookId; /* Hook table index */
226  ULONG flags; /* Some internal flags */
229  struct _DESKTOP *rpdesk;
230  /* ReactOS */
231  LIST_ENTRY Chain; /* Hook chain entry */
232  HOOKPROC Proc; /* Hook function */
233  BOOLEAN Ansi; /* Is it an Ansi hook? */
234  UNICODE_STRING ModuleName; /* Module name for global hooks */
235 } HOOK, *PHOOK;
236 
237 typedef struct tagCLIPBOARDDATA
238 {
241  BYTE Data[0];
243 
244 /* THREADINFO Flags */
245 #define TIF_INCLEANUP 0x00000001
246 #define TIF_16BIT 0x00000002
247 #define TIF_SYSTEMTHREAD 0x00000004
248 #define TIF_CSRSSTHREAD 0x00000008
249 #define TIF_TRACKRECTVISIBLE 0x00000010
250 #define TIF_ALLOWFOREGROUNDACTIVATE 0x00000020
251 #define TIF_DONTATTACHQUEUE 0x00000040
252 #define TIF_DONTJOURNALATTACH 0x00000080
253 #define TIF_WOW64 0x00000100
254 #define TIF_INACTIVATEAPPMSG 0x00000200
255 #define TIF_SPINNING 0x00000400
256 #define TIF_PALETTEAWARE 0x00000800
257 #define TIF_SHAREDWOW 0x00001000
258 #define TIF_FIRSTIDLE 0x00002000
259 #define TIF_WAITFORINPUTIDLE 0x00004000
260 #define TIF_MOVESIZETRACKING 0x00008000
261 #define TIF_VDMAPP 0x00010000
262 #define TIF_DOSEMULATOR 0x00020000
263 #define TIF_GLOBALHOOKER 0x00040000
264 #define TIF_DELAYEDEVENT 0x00080000
265 #define TIF_MSGPOSCHANGED 0x00100000
266 #define TIF_SHUTDOWNCOMPLETE 0x00200000
267 #define TIF_IGNOREPLAYBACKDELAY 0x00400000
268 #define TIF_ALLOWOTHERACCOUNTHOOK 0x00800000
269 #define TIF_GUITHREADINITIALIZED 0x02000000
270 #define TIF_DISABLEIME 0x04000000
271 #define TIF_INGETTEXTLENGTH 0x08000000
272 #define TIF_ANSILENGTH 0x10000000
273 #define TIF_DISABLEHOOKS 0x20000000
274 
275 typedef struct _CALLBACKWND
276 {
278  struct _WND *pWnd;
281 
282 #define CI_TRANSACTION 0x00000001
283 #define CI_QUEUEMSG 0x00000002
284 #define CI_WOW 0x00000004
285 #define CI_INITTHREAD 0x00000008
286 #define CI_CURTHPRHOOK 0x00000010
287 #define CI_CLASSESREGISTERED 0x00000020
288 #define CI_IMMACTIVATE 0x00000040
289 #define CI_TFSDISABLED 0x00000400
290 
291 typedef struct _CLIENTINFO
292 {
298  DWORD dwTIFlags; /* ThreadInfo TIF_Xxx flags for User space. */
319 /* It's just a pointer reference not to be used w the structure in user space. */
320  struct _PROCESSINFO *ppi;
322 
323 /* Make sure it fits into the TEB */
324 C_ASSERT(sizeof(CLIENTINFO) <= sizeof(((PTEB)0)->Win32ClientInfo));
325 
326 #define GetWin32ClientInfo() ((PCLIENTINFO)(NtCurrentTeb()->Win32ClientInfo))
327 
328 typedef struct tagDDEPACK
329 {
332 } DDEPACK, *PDDEPACK;
333 
334 #define HRGN_NULL ((HRGN)0) /* NULL empty region */
335 #define HRGN_WINDOW ((HRGN)1) /* region from window rcWindow */
336 #define HRGN_MONITOR ((HRGN)2) /* region from monitor region. */
337 
338 /* Menu Item fType. */
339 #define MFT_RTOL 0x6000
340 
341 /* Menu Item fState. */
342 #define MFS_HBMMENUBMP 0x20000000
343 
344 typedef struct tagITEM
345 {
349  struct tagMENU *spSubMenu; /* Pop-up menu. */
352  USHORT *Xlpstr; /* Item text pointer. */
355  ULONG xItem; /* Item position. left */
356  ULONG yItem; /* " top */
357  ULONG cxItem; /* Item Size Width */
358  ULONG cyItem; /* " Height */
359  ULONG dxTab; /* X position of text after Tab */
360  ULONG ulX; /* underline.. start position */
361  ULONG ulWidth; /* underline.. width */
362  HBITMAP hbmp; /* bitmap */
363  INT cxBmp; /* Width Maximum size of the bitmap items in MIIM_BITMAP state */
364  INT cyBmp; /* Height " */
365  /* ReactOS */
367 } ITEM, *PITEM;
368 
369 typedef struct tagMENULIST
370 {
372  struct tagMENU *pMenu;
373 } MENULIST, *PMENULIST;
374 
375 /* Menu fFlags, upper byte is MNS_X style flags. */
376 #define MNF_POPUP 0x0001
377 #define MNF_UNDERLINE 0x0004
378 #define MNF_INACTIVE 0x0010
379 #define MNF_RTOL 0x0020
380 #define MNF_DESKTOPMN 0x0040
381 #define MNF_SYSDESKMN 0x0080
382 #define MNF_SYSSUBMENU 0x0100
383 /* Hack */
384 #define MNF_SYSMENU 0x0200
385 
386 /* (other FocusedItem values give the position of the focused item) */
387 #define NO_SELECTED_ITEM 0xffff
388 
389 typedef struct tagMENU
390 {
392  ULONG fFlags; /* [Style flags | Menu flags] */
393  INT iItem; /* nPos of selected item, if -1 not selected. AKA focused item */
394  UINT cAlloced; /* Number of allocated items. Inc's of 8 */
395  UINT cItems; /* Number of items in the menu */
396  ULONG cxMenu; /* Width of the whole menu */
397  ULONG cyMenu; /* Height of the whole menu */
398  ULONG cxTextAlign; /* Offset of text when items have both bitmaps and text */
399  struct _WND *spwndNotify; /* window receiving the messages for ownerdraw */
400  PITEM rgItems; /* Array of menu items */
401  struct tagMENULIST *pParentMenus; /* If this is SubMenu, list of parents. */
403  ULONG cyMax; /* max height of the whole menu, 0 is screen height */
404  DWORD_PTR dwMenuData; /* application defined value */
405  HBRUSH hbrBack; /* brush for menu background */
406  INT iTop; /* Current scroll position Top */
407  INT iMaxTop; /* Current scroll position Max Top */
408  DWORD dwArrowsOn:2; /* Arrows: 0 off, 1 on, 2 to the top, 3 to the bottom. */
409  /* ReactOS */
411  HWND hWnd; /* Window containing the menu, use POPUPMENU */
413 } MENU, *PMENU;
414 
415 typedef struct tagPOPUPMENU
416 {
440  // ULONG fDesktopMenu:1;
443  struct _WND *spwndNotify;
455 
456 typedef struct _REGISTER_SYSCLASS
457 {
458  /* This is a reactos specific class used to initialize the
459  system window classes during user32 initialization */
465  HBRUSH hBrush;
469 
470 typedef struct _CLSMENUNAME
471 {
476 
477 typedef struct tagSBDATA
478 {
483 } SBDATA, *PSBDATA;
484 
485 typedef struct tagSBINFO
486 {
490 } SBINFO, *PSBINFO;
491 
492 typedef struct tagSBCALC
493 {
510 } SBCALC, *PSBCALC;
511 
512 typedef enum _GETCPD
513 {
514  UserGetCPDA2U = 0x01, /* " Unicode " */
515  UserGetCPDU2A = 0X02, /* " Ansi " */
520 } GETCPD, *PGETCPD;
521 
522 typedef struct _CALLPROCDATA
523 {
529 
530 #define CSF_SERVERSIDEPROC 0x0001
531 #define CSF_ANSIPROC 0x0002
532 #define CSF_WOWDEFERDESTROY 0x0004
533 #define CSF_SYSTEMCLASS 0x0008
534 #define CSF_WOWCLASS 0x0010
535 #define CSF_WOWEXTRA 0x0020
536 #define CSF_CACHEDSMICON 0x0040
537 #define CSF_WIN40COMPAT 0x0080
538 
539 typedef struct _CLS
540 {
541  struct _CLS *pclsNext;
548  PSTR lpszClientAnsiMenuName; /* For client use */
551  struct _CLS *pclsBase;
552  struct _CLS *pclsClone;
562  PWSTR lpszMenuName; /* kernel use */
566  UINT Unicode:1; // !CSF_ANSIPROC
567  UINT Global:1; // CS_GLOBALCLASS or CSF_SERVERSIDEPROC
570 } CLS, *PCLS;
571 
572 typedef struct _SBINFOEX
573 {
576 } SBINFOEX, *PSBINFOEX;
577 
578 /* State Flags !Not ALL Implemented! */
579 #define WNDS_HASMENU 0X00000001
580 #define WNDS_HASVERTICALSCROOLLBAR 0X00000002
581 #define WNDS_HASHORIZONTALSCROLLBAR 0X00000004
582 #define WNDS_HASCAPTION 0X00000008
583 #define WNDS_SENDSIZEMOVEMSGS 0X00000010
584 #define WNDS_MSGBOX 0X00000020
585 #define WNDS_ACTIVEFRAME 0X00000040
586 #define WNDS_HASSPB 0X00000080
587 #define WNDS_NONCPAINT 0X00000100
588 #define WNDS_SENDERASEBACKGROUND 0X00000200
589 #define WNDS_ERASEBACKGROUND 0X00000400
590 #define WNDS_SENDNCPAINT 0X00000800
591 #define WNDS_INTERNALPAINT 0X00001000
592 #define WNDS_UPDATEDIRTY 0X00002000
593 #define WNDS_HIDDENPOPUP 0X00004000
594 #define WNDS_FORCEMENUDRAW 0X00008000
595 #define WNDS_DIALOGWINDOW 0X00010000
596 #define WNDS_HASCREATESTRUCTNAME 0X00020000
597 #define WNDS_SERVERSIDEWINDOWPROC 0x00040000 /* Call proc inside win32k. */
598 #define WNDS_ANSIWINDOWPROC 0x00080000
599 #define WNDS_BEINGACTIVATED 0x00100000
600 #define WNDS_HASPALETTE 0x00200000
601 #define WNDS_PAINTNOTPROCESSED 0x00400000
602 #define WNDS_SYNCPAINTPENDING 0x00800000
603 #define WNDS_RECEIVEDQUERYSUSPENDMSG 0x01000000
604 #define WNDS_RECEIVEDSUSPENDMSG 0x02000000
605 #define WNDS_TOGGLETOPMOST 0x04000000
606 #define WNDS_REDRAWIFHUNG 0x08000000
607 #define WNDS_REDRAWFRAMEIFHUNG 0x10000000
608 #define WNDS_ANSICREATOR 0x20000000
609 #define WNDS_MAXIMIZESTOMONITOR 0x40000000
610 #define WNDS_DESTROYED 0x80000000
611 
612 #define WNDSACTIVEFRAME 0x00000006
613 
614 /* State2 Flags !Not ALL Implemented! */
615 #define WNDS2_WMPAINTSENT 0X00000001
616 #define WNDS2_ENDPAINTINVALIDATE 0X00000002
617 #define WNDS2_STARTPAINT 0X00000004
618 #define WNDS2_OLDUI 0X00000008
619 #define WNDS2_HASCLIENTEDGE 0X00000010
620 #define WNDS2_BOTTOMMOST 0X00000020
621 #define WNDS2_FULLSCREEN 0X00000040
622 #define WNDS2_INDESTROY 0X00000080
623 #define WNDS2_WIN31COMPAT 0X00000100
624 #define WNDS2_WIN40COMPAT 0X00000200
625 #define WNDS2_WIN50COMPAT 0X00000400
626 #define WNDS2_MAXIMIZEDMONITORREGION 0X00000800
627 #define WNDS2_CLOSEBUTTONDOWN 0X00001000
628 #define WNDS2_MAXIMIZEBUTTONDOWN 0X00002000
629 #define WNDS2_MINIMIZEBUTTONDOWN 0X00004000
630 #define WNDS2_HELPBUTTONDOWN 0X00008000
631 #define WNDS2_SCROLLBARLINEUPBTNDOWN 0X00010000
632 #define WNDS2_SCROLLBARPAGEUPBTNDOWN 0X00020000
633 #define WNDS2_SCROLLBARPAGEDOWNBTNDOWN 0X00040000
634 #define WNDS2_SCROLLBARLINEDOWNBTNDOWN 0X00080000
635 #define WNDS2_ANYSCROLLBUTTONDOWN 0X00100000
636 #define WNDS2_SCROLLBARVERTICALTRACKING 0X00200000
637 #define WNDS2_FORCENCPAINT 0X00400000
638 #define WNDS2_FORCEFULLNCPAINTCLIPRGN 0X00800000
639 #define WNDS2_FULLSCREENMODE 0X01000000
640 #define WNDS2_CAPTIONTEXTTRUNCATED 0X08000000
641 #define WNDS2_NOMINMAXANIMATERECTS 0X10000000
642 #define WNDS2_SMALLICONFROMWMQUERYDRAG 0X20000000
643 #define WNDS2_SHELLHOOKREGISTERED 0X40000000
644 #define WNDS2_WMCREATEMSGPROCESSED 0X80000000
645 
646 /* ExStyles2 */
647 #define WS_EX2_CLIPBOARDLISTENER 0X00000001
648 #define WS_EX2_LAYEREDINVALIDATE 0X00000002
649 #define WS_EX2_REDIRECTEDFORPRINT 0X00000004
650 #define WS_EX2_LINKED 0X00000008
651 #define WS_EX2_LAYEREDFORDWM 0X00000010
652 #define WS_EX2_LAYEREDLIMBO 0X00000020
653 #define WS_EX2_HIGHTDPI_UNAWAR 0X00000040
654 #define WS_EX2_VERTICALLYMAXIMIZEDLEFT 0X00000080
655 #define WS_EX2_VERTICALLYMAXIMIZEDRIGHT 0X00000100
656 #define WS_EX2_HASOVERLAY 0X00000200
657 #define WS_EX2_CONSOLEWINDOW 0X00000400
658 #define WS_EX2_CHILDNOACTIVATE 0X00000800
659 
660 #define WPF_MININIT 0x0008
661 #define WPF_MAXINIT 0x0010
662 
663 typedef struct _WND
664 {
666 #if 0
667  WW ww;
668 #else
669  /* These fields should be moved in the WW at some point. */
670  /* Plese do not change them to keep the same layout with WW. */
673  /* Extended style. */
675  /* Style. */
677  /* Handle of the module that created the window. */
680 #endif
681  struct _WND *spwndNext;
682  struct _WND *spwndPrev;
683  struct _WND *spwndParent;
684  struct _WND *spwndChild;
685  struct _WND *spwndOwner;
689  /* Pointer to the window class. */
692  /* Property list head.*/
695  /* Scrollbar info */
697  /* system menu handle. */
699  //PMENU spmenuSys;
700  /* Window menu handle or window id */
701  UINT_PTR IDMenu; // Use spmenu
702  //PMENU spmenu;
703  HRGN hrgnClip;
705  /* Window name. */
707  /* Size of the extra data associated with the window. */
710  HIMC hImc; // Input context associated with this window.
713  //PD3DMATRIX pTransForm;
716 
717  /* ReactOS */
718  struct
719  {
723  UINT flags; /* WPF_ flags. */
724  } InternalPos;
725 
726  UINT Unicode:1; /* !(WNDS_ANSICREATOR|WNDS_ANSIWINDOWPROC) ? */
728  UINT HideFocus:1; /* WS_EX_UISTATEFOCUSRECTHIDDEN ? */
729  UINT HideAccel:1; /* WS_EX_UISTATEKBACCELHIDDEN ? */
730 
731  /* Scrollbar info */
732  PSBINFOEX pSBInfoex; // convert to PSBINFO
733  /* Entry in the list of thread windows. */
735 
737 } WND, *PWND;
738 
739 #define PWND_BOTTOM ((PWND)1)
740 
741 typedef struct _SBWND
742 {
747 } SBWND, *PSBWND;
748 
749 typedef struct _MDIWND
750 {
754 } MDIWND, *PMDIWND;
755 
756 #define GWLP_MDIWND 4
757 
758 typedef struct _MENUWND
759 {
762 } MENUWND, *PMENUWND;
763 
764 typedef struct _PFNCLIENT
765 {
790 
791 /*
792  Wine Common proc ( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam, BOOL Unicode );
793  Windows uses Ansi == TRUE, Wine uses Unicode == TRUE.
794  */
795 
796 typedef LRESULT
798  HWND,
799  UINT,
800  WPARAM,
801  LPARAM,
802  BOOL);
803 
804 typedef struct _PFNCLIENTWORKER
805 {
818 
819 typedef LONG_PTR
821  PWND,
822  UINT,
823  WPARAM,
824  LPARAM,
825  ULONG_PTR);
826 
827 /* FNID's for NtUserSetWindowFNID, NtUserMessageCall */
828 #define FNID_FIRST 0x029A
829 #define FNID_SCROLLBAR 0x029A
830 #define FNID_ICONTITLE 0x029B
831 #define FNID_MENU 0x029C
832 #define FNID_DESKTOP 0x029D
833 #define FNID_DEFWINDOWPROC 0x029E
834 #define FNID_MESSAGEWND 0x029F
835 #define FNID_SWITCH 0x02A0
836 #define FNID_BUTTON 0x02A1
837 #define FNID_COMBOBOX 0x02A2
838 #define FNID_COMBOLBOX 0x02A3
839 #define FNID_DIALOG 0x02A4
840 #define FNID_EDIT 0x02A5
841 #define FNID_LISTBOX 0x02A6
842 #define FNID_MDICLIENT 0x02A7
843 #define FNID_STATIC 0x02A8
844 #define FNID_IME 0x02A9
845 #define FNID_GHOST 0x02AA
846 #define FNID_CALLWNDPROC 0x02AB
847 #define FNID_CALLWNDPROCRET 0x02AC
848 #define FNID_HKINLPCWPEXSTRUCT 0x02AD
849 #define FNID_HKINLPCWPRETEXSTRUCT 0x02AE
850 #define FNID_MB_DLGPROC 0x02AF
851 #define FNID_MDIACTIVATEDLGPROC 0x02B0
852 #define FNID_SENDMESSAGE 0x02B1
853 #define FNID_SENDMESSAGEFF 0x02B2
854 /* Kernel has option to use TimeOut or normal msg send, based on type of msg. */
855 #define FNID_SENDMESSAGEWTOOPTION 0x02B3
856 #define FNID_SENDMESSAGECALLPROC 0x02B4
857 #define FNID_BROADCASTSYSTEMMESSAGE 0x02B5
858 #define FNID_TOOLTIPS 0x02B6
859 #define FNID_SENDNOTIFYMESSAGE 0x02B7
860 #define FNID_SENDMESSAGECALLBACK 0x02B8
861 
862 #define FNID_LAST FNID_SENDMESSAGECALLBACK
863 
864 #define FNID_NUM (FNID_LAST - FNID_FIRST + 1)
865 #define FNID_NUMSERVERPROC (FNID_SWITCH - FNID_FIRST + 1)
866 
867 #define FNID_DDEML 0x2000 /* Registers DDEML */
868 #define FNID_DESTROY 0x4000 /* This is sent when WM_NCDESTROY or in the support routine. */
869  /* Seen during WM_CREATE on error exit too. */
870 #define FNID_FREED 0x8000 /* Window being Freed... */
871 
872 #define ICLASS_TO_MASK(iCls) (1 << ((iCls)))
873 
874 #define GETPFNCLIENTA(fnid) \
875  (WNDPROC)(*(((ULONG_PTR *)&gpsi->apfnClientA) + (fnid - FNID_FIRST)))
876 #define GETPFNCLIENTW(fnid) \
877  (WNDPROC)(*(((ULONG_PTR *)&gpsi->apfnClientW) + (fnid - FNID_FIRST)))
878 
879 #define GETPFNSERVER(fnid) gpsi->aStoCidPfn[fnid - FNID_FIRST]
880 
881 /* ICLS's for NtUserGetClassName FNID to ICLS, NtUserInitializeClientPfnArrays */
882 #define ICLS_BUTTON 0
883 #define ICLS_EDIT 1
884 #define ICLS_STATIC 2
885 #define ICLS_LISTBOX 3
886 #define ICLS_SCROLLBAR 4
887 #define ICLS_COMBOBOX 5
888 #define ICLS_MDICLIENT 6
889 #define ICLS_COMBOLBOX 7
890 #define ICLS_DDEMLEVENT 8
891 #define ICLS_DDEMLMOTHER 9
892 #define ICLS_DDEML16BIT 10
893 #define ICLS_DDEMLCLIENTA 11
894 #define ICLS_DDEMLCLIENTW 12
895 #define ICLS_DDEMLSERVERA 13
896 #define ICLS_DDEMLSERVERW 14
897 #define ICLS_IME 15
898 #define ICLS_GHOST 16
899 #define ICLS_DESKTOP 17
900 #define ICLS_DIALOG 18
901 #define ICLS_MENU 19
902 #define ICLS_SWITCH 20
903 #define ICLS_ICONTITLE 21
904 #define ICLS_TOOLTIPS 22
905 #if (_WIN32_WINNT <= 0x0501)
906 #define ICLS_UNKNOWN 22
907 #define ICLS_NOTUSED 23
908 #else
909 #define ICLS_SYSSHADOW 23
910 #define ICLS_HWNDMESSAGE 24
911 #define ICLS_NOTUSED 25
912 #endif
913 #define ICLS_END 31
914 
915 #define COLOR_LAST COLOR_MENUBAR
916 #define MAX_MB_STRINGS 11
917 
918 #define SRVINFO_DBCSENABLED 0x0002
919 #define SRVINFO_IMM32 0x0004
920 #define SRVINFO_APIHOOK 0x0010
921 #define SRVINFO_CICERO_ENABLED 0x0020
922 #define SRVINFO_KBDPREF 0x0080
923 
924 #define NUM_SYSCOLORS 31
925 
926 typedef struct tagOEMBITMAPINFO
927 {
933 
934 typedef enum _OBI_TYPES
935 {
943 } OBI_TYPES;
944 
945 typedef struct tagMBSTRING
946 {
950 } MBSTRING, *PMBSTRING;
951 
952 typedef struct tagDPISERVERINFO
953 {
954  INT gclBorder; /* 000 */
955  HFONT hCaptionFont; /* 004 */
956  HFONT hMsgFont; /* 008 */
957  INT cxMsgFontChar; /* 00C */
958  INT cyMsgFontChar; /* 010 */
959  UINT wMaxBtnSize; /* 014 */
961 
962 /* PUSIFlags: */
963 #define PUSIF_PALETTEDISPLAY 0x01
964 #define PUSIF_SNAPTO 0x02
965 #define PUSIF_COMBOBOXANIMATION 0x04
966 #define PUSIF_LISTBOXSMOOTHSCROLLING 0x08
967 #define PUSIF_KEYBOARDCUES 0x20
968 
969 typedef struct _PERUSERSERVERINFO
970 {
975  HBRUSH hbrGray;
1010 
1011 typedef struct tagSERVERINFO
1012 {
1036 
1037 #ifdef _M_IX86
1038 C_ASSERT(sizeof(SERVERINFO) <= PAGE_SIZE);
1039 #endif
1040 
1041 
1042 /* Server event activity bits. */
1043 #define SRV_EVENT_MENU 0x0001
1044 #define SRV_EVENT_END_APPLICATION 0x0002
1045 #define SRV_EVENT_RUNNING 0x0004
1046 #define SRV_EVENT_NAMECHANGE 0x0008
1047 #define SRV_EVENT_VALUECHANGE 0x0010
1048 #define SRV_EVENT_STATECHANGE 0x0020
1049 #define SRV_EVENT_LOCATIONCHANGE 0x0040
1050 #define SRV_EVENT_CREATE 0x8000
1051 
1052 typedef struct _PROPLISTITEM
1053 {
1057 
1058 #define PROPERTY_FLAG_SYSTEM 1
1059 
1060 typedef struct _PROPERTY
1061 {
1066 } PROPERTY, *PPROPERTY;
1067 
1068 typedef struct _BROADCASTPARM
1069 {
1072  HDESK hDesk;
1076 
1079 
1080 typedef struct _WNDMSG
1081 {
1084 } WNDMSG, *PWNDMSG;
1085 
1086 typedef struct _SHAREDINFO
1087 {
1088  PSERVERINFO psi; /* Global Server Info */
1089  PVOID aheList; /* Handle Entry List */
1090  PVOID pDispInfo; /* Global PDISPLAYINFO pointer */
1091  ULONG_PTR ulSharedDelta; /* Shared USER mapped section delta */
1096 
1097 /* See also the USERSRV_API_CONNECTINFO #define in include/reactos/subsys/win/winmsg.h */
1098 typedef struct _USERCONNECT
1099 {
1105 
1106 /* WinNT 5.0 compatible user32 / win32k */
1107 #define USER_VERSION MAKELONG(0x0000, 0x0005)
1108 
1109 #if defined(_M_IX86)
1110 C_ASSERT(sizeof(USERCONNECT) == 0x124);
1111 #endif
1112 
1113 typedef struct tagGETCLIPBDATA
1114 {
1117  union
1118  {
1121  };
1123 
1124 typedef struct tagSETCLIPBDATA
1125 {
1129 
1130 /* Used with NtUserSetCursorIconData, last parameter. */
1131 typedef struct tagCURSORDATA
1132 {
1144  HBITMAP hbmUserAlpha; /* Could be in W7U, not in W2k */
1154 } CURSORDATA, *PCURSORDATA; /* !dso CURSORDATA */
1155 
1156 /* CURSORF_flags: */
1157 #define CURSORF_FROMRESOURCE 0x0001
1158 #define CURSORF_GLOBAL 0x0002
1159 #define CURSORF_LRSHARED 0x0004
1160 #define CURSORF_ACON 0x0008
1161 #define CURSORF_WOWCLEANUP 0x0010
1162 #define CURSORF_ACONFRAME 0x0040
1163 #define CURSORF_SECRET 0x0080
1164 #define CURSORF_LINKED 0x0100
1165 #define CURSORF_CURRENT 0x0200
1166 
1167 typedef struct tagIMEINFOEX
1168 {
1179  struct
1180  {
1183  };
1184 } IMEINFOEX, *PIMEINFOEX;
1185 
1186 typedef enum IMEINFOEXCLASS
1187 {
1192 } IMEINFOEXCLASS;
1193 
1194 #define IS_IME_HKL(hkl) ((((ULONG_PTR)(hkl)) & 0xF0000000) == 0xE0000000)
1195 
1196 typedef struct tagIMEUI
1197 {
1204  struct {
1212  };
1213 } IMEUI, *PIMEUI;
1214 
1215 /* Window Extra data container. */
1216 typedef struct _IMEWND
1217 {
1220 } IMEWND, *PIMEWND;
1221 
1222 typedef struct tagTRANSMSG
1223 {
1228 
1229 typedef struct tagTRANSMSGLIST
1230 {
1234 
1235 #define DEFINE_IME_ENTRY(type, name, params, extended) typedef type (WINAPI *FN_##name) params;
1236 #include "imetable.h"
1237 #undef DEFINE_IME_ENTRY
1238 
1239 typedef struct IMEDPI
1240 {
1241  struct IMEDPI *pNext;
1249 #define DEFINE_IME_ENTRY(type, name, params, extended) FN_##name name;
1250 #include "imetable.h"
1251 #undef DEFINE_IME_ENTRY
1252 } IMEDPI, *PIMEDPI;
1253 
1254 #ifndef _WIN64
1256 C_ASSERT(offsetof(IMEDPI, hInst) == 0x4);
1257 C_ASSERT(offsetof(IMEDPI, hKL) == 0x8);
1258 C_ASSERT(offsetof(IMEDPI, ImeInfo) == 0xc);
1259 C_ASSERT(offsetof(IMEDPI, uCodePage) == 0x28);
1260 C_ASSERT(offsetof(IMEDPI, szUIClass) == 0x2c);
1261 C_ASSERT(offsetof(IMEDPI, cLockObj) == 0x4c);
1262 C_ASSERT(offsetof(IMEDPI, dwFlags) == 0x50);
1263 C_ASSERT(offsetof(IMEDPI, ImeInquire) == 0x54);
1270 C_ASSERT(offsetof(IMEDPI, ImeDestroy) == 0x70);
1271 C_ASSERT(offsetof(IMEDPI, ImeEscape) == 0x74);
1273 C_ASSERT(offsetof(IMEDPI, ImeSelect) == 0x7c);
1276 C_ASSERT(offsetof(IMEDPI, NotifyIME) == 0x88);
1279 C_ASSERT(offsetof(IMEDPI, CtfImeInquireExW) == 0x94);
1280 C_ASSERT(offsetof(IMEDPI, CtfImeSelectEx) == 0x98);
1281 C_ASSERT(offsetof(IMEDPI, CtfImeEscapeEx) == 0x9c);
1282 C_ASSERT(offsetof(IMEDPI, CtfImeGetGuidAtom) == 0xa0);
1283 C_ASSERT(offsetof(IMEDPI, CtfImeIsGuidMapEnable) == 0xa4);
1284 C_ASSERT(sizeof(IMEDPI) == 0xa8);
1285 #endif
1286 
1287 /* flags for IMEDPI.dwFlags */
1288 #define IMEDPI_FLAG_UNKNOWN 0x1
1289 #define IMEDPI_FLAG_LOCKED 0x2
1290 
1291 /* unconfirmed */
1292 typedef struct tagCLIENTIMC
1293 {
1294  HANDLE hInputContext; /* LocalAlloc'ed LHND */
1302 } CLIENTIMC, *PCLIENTIMC;
1303 
1304 #ifndef _WIN64
1305 C_ASSERT(offsetof(CLIENTIMC, hInputContext) == 0x0);
1306 C_ASSERT(offsetof(CLIENTIMC, cLockObj) == 0x4);
1308 C_ASSERT(offsetof(CLIENTIMC, dwCompatFlags) == 0xc);
1309 C_ASSERT(offsetof(CLIENTIMC, cs) == 0x10);
1310 C_ASSERT(offsetof(CLIENTIMC, uCodePage) == 0x28);
1311 C_ASSERT(offsetof(CLIENTIMC, hKL) == 0x2c);
1312 C_ASSERT(sizeof(CLIENTIMC) == 0x34);
1313 #endif
1314 
1315 /* flags for CLIENTIMC */
1316 #define CLIENTIMC_WIDE 0x1
1317 #define CLIENTIMC_UNKNOWN5 0x2
1318 #define CLIENTIMC_UNKNOWN4 0x20
1319 #define CLIENTIMC_UNKNOWN1 0x40
1320 #define CLIENTIMC_UNKNOWN3 0x80
1321 #define CLIENTIMC_UNKNOWN2 0x100
1322 
1323 DWORD
1324 NTAPI
1326 
1327 NTSTATUS
1328 NTAPI
1329 NtUserBuildHimcList(DWORD dwThreadId, DWORD dwCount, HIMC *phList, LPDWORD pdwCount);
1330 
1331 DWORD
1332 NTAPI
1334  HWND hwnd,
1335  DWORD x,
1336  DWORD width,
1337  DWORD y,
1338  LPRECT prc);
1339 
1340 DWORD
1341 NTAPI
1343  HMENU hmenu,
1344  UINT uIDCheckItem,
1345  UINT uCheck);
1346 
1347 DWORD
1348 NTAPI
1350  DWORD dwUnknown1,
1351  DWORD dwUnknown2,
1352  DWORD dwUnknown3);
1353 
1354 DWORD
1355 APIENTRY
1357  DWORD Unknown0,
1358  DWORD Unknown1);
1359 
1360 DWORD
1361 APIENTRY
1363  DWORD Unknown0,
1364  DWORD Unknown1);
1365 
1366 BOOL
1367 NTAPI
1369  HMENU hMenu,
1370  UINT uPosition,
1371  UINT uFlags);
1372 
1373 BOOL
1374 NTAPI
1376  HMENU hMenu);
1377 
1378 DWORD
1379 NTAPI
1381  HWND hWnd,
1382  HDC hDC,
1383  PRECT hRect,
1384  HMENU hMenu,
1385  HFONT hFont);
1386 
1387 UINT
1388 NTAPI
1390  HMENU hMenu,
1391  UINT uIDEnableItem,
1392  UINT uEnable);
1393 
1394 BOOL
1395 NTAPI
1397 
1398 BOOL
1399 NTAPI
1401  HWND hwnd,
1402  LONG idObject,
1403  LONG idItem,
1404  PMENUBARINFO pmbi);
1405 
1406 UINT
1407 NTAPI
1409  HMENU hMenu,
1410  HMENU hSubMenu);
1411 
1412 BOOL
1413 NTAPI
1415  HWND hWnd,
1416  HMENU hMenu,
1417  UINT uItem,
1418  LPRECT lprcItem);
1419 
1420 HMENU
1421 NTAPI
1423  HWND hWnd,
1424  BOOL bRevert);
1425 
1426 BOOL
1427 NTAPI
1429  HWND hWnd,
1430  HMENU hMenu,
1431  UINT uItemHilite,
1432  UINT uHilite);
1433 
1434 int
1435 NTAPI
1437  HWND hWnd,
1438  HMENU hMenu,
1439  DWORD X,
1440  DWORD Y);
1441 
1442 BOOL
1443 NTAPI
1445  HMENU hMenu,
1446  UINT uPosition,
1447  UINT uFlags);
1448 
1449 BOOL
1450 NTAPI
1452  HWND hWnd,
1453  HMENU hMenu,
1454  BOOL bRepaint);
1455 
1456 BOOL
1457 NTAPI
1459  HMENU hmenu,
1460  DWORD dwContextHelpId);
1461 
1462 BOOL
1463 NTAPI
1465  HMENU hMenu,
1466  UINT uItem,
1467  UINT fByPos);
1468 
1469 BOOL
1470 NTAPI
1472  HMENU hMenu);
1473 
1474 BOOL
1475 NTAPI
1477  HWND hWnd,
1478  HMENU hMenu);
1479 
1480 BOOL
1481 NTAPI
1483  HMENU hMenu,
1484  LPCMENUINFO lpcmi);
1485 
1486 BOOL
1487 NTAPI
1489  HMENU hMenu,
1490  UINT uItem,
1491  BOOL fByPosition,
1492  BOOL bInsert,
1493  LPMENUITEMINFOW lpmii,
1494  PUNICODE_STRING lpszCaption);
1495 
1496 BOOL
1497 NTAPI
1499  HMENU hmenu,
1500  UINT fuFlags,
1501  int x,
1502  int y,
1503  HWND hwnd,
1504  LPTPMPARAMS lptpm);
1505 
1506 HKL
1507 NTAPI
1509  HKL hKl,
1510  ULONG Flags);
1511 
1512 DWORD
1513 NTAPI
1515  HWND hWnd,
1516  DWORD Index,
1517  LONG NewValue);
1518 
1519 BOOL
1520 NTAPI
1522  IN DWORD idAttach,
1523  IN DWORD idAttachTo,
1524  IN BOOL fAttach);
1525 
1526 HDC NTAPI
1528  HWND hWnd,
1529  PAINTSTRUCT *lPs);
1530 
1531 BOOL
1532 NTAPI
1534  HDC hdc,
1535  INT nXDest,
1536  INT nYDest,
1537  INT nWidth,
1538  INT nHeight,
1539  INT nXSrc,
1540  INT nYSrc,
1541  DWORD dwRop);
1542 
1543 BOOL
1544 NTAPI
1546  BOOL BlockIt);
1547 
1548 NTSTATUS
1549 NTAPI
1551  HDESK hDesktop,
1552  HWND hwndParent,
1553  BOOLEAN bChildren,
1554  ULONG dwThreadId,
1555  ULONG lParam,
1556  HWND *pWnd,
1557  ULONG *pBufSize);
1558 
1559 NTSTATUS
1560 NTAPI
1562  HWINSTA hWinSta,
1563  ULONG dwSize,
1564  PVOID lpBuffer,
1565  PULONG pRequiredSize);
1566 
1567 NTSTATUS
1568 NTAPI
1570  HWND hWnd,
1571  LPVOID Buffer,
1572  DWORD BufferSize,
1573  DWORD *Count);
1574 
1575 /* apfnSimpleCall indices from Windows XP SP 2 */
1576 /* TODO: Check for differences in Windows 2000, 2003 and 2008 */
1577 #define WIN32K_VERSION NTDDI_WINXPSP2 /* FIXME: this should go somewhere else */
1578 
1580 {
1583 #if (WIN32K_VERSION >= NTDDI_VISTA)
1588 #endif
1590 #if (WIN32K_VERSION < NTDDI_VISTA)
1594 #endif
1599 #if (WIN32K_VERSION >= NTDDI_VISTA)
1601 #else
1602  NOPARAM_ROUTINE_GETREMOTEPROCESSID,
1603 #endif
1606 #if (WIN32K_VERSION >= NTDDI_VISTA)
1609 #endif
1624 #if (WIN32K_VERSION >= NTDDI_VISTA)
1626 #endif
1629 #if (WIN32K_VERSION < NTDDI_VISTA)
1631 #endif
1633 #if (WIN32K_VERSION >= NTDDI_VISTA)
1635 #endif
1639 #if (WIN32K_VERSION < NTDDI_VISTA)
1640  ONEPARAM_ROUTINE_CREATESYSTEMTHREADS,
1641 #endif
1645 #if (WIN32K_VERSION < NTDDI_VISTA)
1646  ONEPARAM_ROUTINE_GETCURSORPOS,
1647 #endif
1654 #if (WIN32K_VERSION < NTDDI_VISTA)
1655  ONEPARAM_ROUTINE_HANDLESYSTHRDCREATFAIL,
1656 #endif
1663 #if (WIN32K_VERSION < NTDDI_VISTA)
1664  ONEPARAM_ROUTINE_PREPAREFORLOGOFF,
1665 #endif
1668 #if (WIN32K_VERSION >= NTDDI_VISTA)
1670 #endif
1674 #if (WIN32K_VERSION >= NTDDI_VISTA)
1676 #endif
1680 #if (WIN32K_VERSION < NTDDI_VISTA)
1681  ONEPARAM_ROUTINE_SETIMESHOWSTATUS,
1682 #endif
1685 #if (WIN32K_VERSION >= NTDDI_VISTA)
1687 #endif
1692 #if (WIN32K_VERSION < NTDDI_VISTA)
1693  X_ROUTINE_REMOTENOTIFY,
1694 #endif
1709  HWNDLOCK_ROUTINE_WINDOWHASSHADOW, /* correct prefix ? */
1728 #if (WIN32K_VERSION >= NTDDI_VISTA)
1731 #endif
1735 #if (WIN32K_VERSION >= NTDDI_VISTA)
1737 #endif
1739 #if (WIN32K_VERSION >= NTDDI_VISTA)
1741 #else
1742  TWOPARAM_ROUTINE_REGISTERSYSTEMTHREAD,
1743 #endif
1749 #if (WIN32K_VERSION >= NTDDI_VISTA)
1751 #endif
1754 };
1755 
1756 DWORD
1757 NTAPI
1759  HWND hWnd,
1760  DWORD Routine);
1761 
1762 BOOL
1763 NTAPI
1765  HWND hWnd,
1766  DWORD Routine);
1767 
1768 HWND
1769 NTAPI
1771  HWND hWnd,
1772  DWORD Routine);
1773 
1774 DWORD
1775 NTAPI
1777  HWND hWnd,
1778  DWORD_PTR Param,
1779  DWORD Routine);
1780 
1781 DWORD
1782 NTAPI
1784  HWND hWnd,
1785  DWORD_PTR Param,
1786  DWORD Routine);
1787 
1788 BOOL
1789 NTAPI
1791  LPMSG msg,
1792  INT code);
1793 
1794 LRESULT
1795 NTAPI
1797  int Code,
1798  WPARAM wParam,
1799  LPARAM lParam,
1800  BOOL Ansi);
1801 
1802 DWORD_PTR
1803 NTAPI
1805  DWORD Routine);
1806 
1807 DWORD_PTR
1808 NTAPI
1810  DWORD_PTR Param,
1811  DWORD Routine);
1812 
1813 DWORD_PTR
1814 NTAPI
1816  DWORD_PTR Param1,
1817  DWORD_PTR Param2,
1818  DWORD Routine);
1819 
1820 BOOL
1821 NTAPI
1823  HWND hWndRemove,
1824  HWND hWndNewNext);
1825 
1826 LONG
1827 NTAPI
1829  PUNICODE_STRING lpszDeviceName,
1831  DWORD dwflags,
1832  LPVOID lParam);
1833 
1834 BOOL
1835 NTAPI
1837  DWORD dwThreadId);
1838 
1839 BOOL
1840 NTAPI
1842  HWND hwnd,
1843  DWORD dwThreadId,
1844  ULONG ReturnValue);
1845 
1846 DWORD
1847 NTAPI
1849  DWORD dwUnknown1,
1850  LPARAM dwUnknown2);
1851 
1852 HWND NTAPI
1854  HWND Parent,
1855  LONG x,
1856  LONG y,
1857  UINT Flags);
1858 
1859 BOOL
1860 NTAPI
1862  RECT *lpRect);
1863 
1864 BOOL
1865 NTAPI
1867 
1868 BOOL
1869 NTAPI
1871  HDESK hDesktop);
1872 
1873 BOOL
1874 NTAPI
1876  HWINSTA hWinSta);
1877 
1878 /* Console commands for NtUserConsoleControl */
1879 typedef enum _CONSOLECONTROL
1880 {
1886 
1888 {
1892 
1893 NTSTATUS
1894 APIENTRY
1896  IN CONSOLECONTROL ConsoleCtrl,
1897  IN PVOID ConsoleCtrlInfo,
1898  IN ULONG ConsoleCtrlInfoLength);
1899 
1900 HANDLE
1901 NTAPI
1903  PVOID pData,
1904  DWORD cbData);
1905 
1906 ULONG
1907 NTAPI
1909  HACCEL Table,
1910  LPACCEL Entries,
1911  ULONG EntriesCount);
1912 
1913 DWORD
1914 NTAPI
1916 
1917 HACCEL
1918 NTAPI
1920  LPACCEL Entries,
1921  ULONG EntriesCount);
1922 
1923 BOOL
1924 NTAPI
1926  HWND hWnd,
1927  HBITMAP hBitmap,
1928  int nWidth,
1929  int nHeight);
1930 
1931 HDESK
1932 NTAPI
1934  POBJECT_ATTRIBUTES poa,
1935  PUNICODE_STRING lpszDesktopDevice,
1936  LPDEVMODEW lpdmw,
1937  DWORD dwFlags,
1938  ACCESS_MASK dwDesiredAccess);
1939 
1940 HIMC
1941 NTAPI
1942 NtUserCreateInputContext(ULONG_PTR dwClientImcData);
1943 
1944 NTSTATUS
1945 NTAPI
1947  HANDLE hMem,
1948  PVOID pData,
1949  DWORD cbData,
1950  DWORD *pcbData);
1951 
1952 HWND
1953 NTAPI
1955  DWORD dwExStyle,
1956  PLARGE_STRING plstrClassName,
1957  PLARGE_STRING plstrClsVersion,
1958  PLARGE_STRING plstrWindowName,
1959  DWORD dwStyle,
1960  int x,
1961  int y,
1962  int nWidth,
1963  int nHeight,
1964  HWND hWndParent,
1965  HMENU hMenu,
1967  LPVOID lpParam,
1968  DWORD dwFlags,
1969  PVOID acbiBuffer);
1970 
1971 HWINSTA
1972 NTAPI
1975  ACCESS_MASK dwDesiredAccess,
1976  DWORD Unknown2,
1977  DWORD Unknown3,
1978  DWORD Unknown4,
1979  DWORD Unknown5,
1980  DWORD Unknown6);
1981 
1982 BOOL
1983 NTAPI
1985  IN HWND hwndClient,
1986  IN HWND hWndServer,
1988 
1989 DWORD
1990 NTAPI
1992  DWORD Unknown0,
1993  DWORD Unknown1,
1994  DWORD Unknown2,
1995  DWORD Unknown3,
1996  DWORD Unknown4);
1997 
1998 BOOL
1999 NTAPI
2001  IN HWND hwndClient,
2004 
2005 HDWP
2006 NTAPI
2008  HDWP WinPosInfo,
2009  HWND Wnd,
2010  HWND WndInsertAfter,
2011  int x,
2012  int y,
2013  int cx,
2014  int cy,
2015  UINT Flags);
2016 
2017 BOOL
2018 NTAPI
2020  HWND WindowHandle,
2021  PLARGE_STRING WindowText);
2022 
2023 BOOLEAN
2024 NTAPI
2026  HACCEL Table);
2027 
2028 BOOL
2029 NTAPI
2031  _In_ HANDLE Handle,
2032  _In_ BOOL bForce);
2033 
2034 BOOL
2035 NTAPI
2037 
2038 BOOLEAN
2039 NTAPI
2041  HWND Wnd);
2042 
2043 BOOL
2044 NTAPI
2046  DWORD dwThreadID);
2047 
2048 LRESULT
2049 NTAPI
2051  PMSG pMsg);
2052 
2053 BOOL
2054 NTAPI
2056  HWND hWnd,
2057  POINT pt);
2058 
2059 DWORD
2060 NTAPI
2062  HWND hwnd1,
2063  HWND hwnd2,
2064  UINT u1,
2065  DWORD dw1,
2066  HCURSOR hc1);
2067 
2068 BOOL
2069 NTAPI
2071  HWND hwnd,
2072  INT idAni,
2073  RECT *lprcFrom,
2074  RECT *lprcTo);
2075 
2076 BOOL
2077 NTAPI
2079  HWND hWnd,
2080  HDC hDc,
2081  LPCRECT lpRc,
2082  UINT uFlags);
2083 
2084 BOOL
2085 NTAPI
2087  HWND hWnd,
2088  HDC hDC,
2089  LPCRECT lpRc,
2090  HFONT hFont,
2091  HICON hIcon,
2092  const PUNICODE_STRING str,
2093  UINT uFlags);
2094 
2095 /* Used with NtUserDrawIconEx, last parameter. */
2096 typedef struct _DRAWICONEXDATA
2097 {
2100  int cx;
2101  int cy;
2103 
2104 BOOL
2105 NTAPI
2107  HDC hdc,
2108  int xLeft,
2109  int yTop,
2110  HICON hIcon,
2111  int cxWidth,
2112  int cyWidth,
2113  UINT istepIfAniCur,
2114  HBRUSH hbrFlickerFreeDraw,
2115  UINT diFlags,
2116  BOOL bMetaHDC,
2117  PVOID pDIXData);
2118 
2119 BOOL
2120 NTAPI
2122 
2123 BOOL
2124 NTAPI
2126  HWND hWnd,
2127  UINT wSBflags,
2128  UINT wArrows);
2129 
2130 BOOL
2131 NTAPI
2133  HDWP WinPosInfo,
2134  BOOL bAsync);
2135 
2136 BOOL
2137 NTAPI
2139  HWND hWnd,
2140  CONST PAINTSTRUCT *lPs);
2141 
2142 BOOL
2143 NTAPI
2145  PUNICODE_STRING lpDevice, /* device name */
2146  DWORD iDevNum, /* display device */
2147  PDISPLAY_DEVICEW lpDisplayDevice, /* device information */
2148  DWORD dwFlags); /* reserved */
2149 
2150 /*
2151 BOOL
2152 NTAPI
2153 NtUserEnumDisplayMonitors(
2154  HDC hdc,
2155  LPCRECT lprcClip,
2156  MONITORENUMPROC lpfnEnum,
2157  LPARAM dwData);
2158 */
2159 /* FIXME: The call below is ros-specific and should be rewritten to use the same params as the correct call above. */
2160 INT
2161 NTAPI
2163  OPTIONAL IN HDC hDC,
2164  OPTIONAL IN LPCRECT pRect,
2165  OPTIONAL OUT HMONITOR *hMonitorList,
2166  OPTIONAL OUT LPRECT monitorRectList,
2167  OPTIONAL IN DWORD listSize);
2168 
2169 
2170 NTSTATUS
2171 NTAPI
2173  PUNICODE_STRING lpszDeviceName,
2174  DWORD iModeNum,
2175  LPDEVMODEW lpDevMode, /* FIXME is this correct? */
2176  DWORD dwFlags);
2177 
2178 DWORD
2179 NTAPI
2180 NtUserEvent(
2181  DWORD Unknown0);
2182 
2183 INT
2184 NTAPI
2186  HDC hDC,
2187  HWND hWnd);
2188 
2189 BOOL
2190 NTAPI
2192  HWND hWndPaint,
2193  HWND hWndPaint1,
2194  HDC hDC,
2195  HBRUSH hBrush);
2196 
2197 HWND
2198 NTAPI
2200  HWND hwndParent,
2201  HWND hwndChildAfter,
2202  PUNICODE_STRING ucClassName,
2203  PUNICODE_STRING ucWindowName,
2204  DWORD dwUnknown);
2205 
2206 BOOL
2207 NTAPI
2209  IN PFLASHWINFO pfwi);
2210 
2211 BOOL
2212 NTAPI
2214  HWND hwnd,
2215  INT iItem,
2216  PALTTABINFO pati,
2217  LPWSTR pszItemText,
2218  UINT cchItemText,
2219  BOOL Ansi);
2220 
2221 HWND
2222 NTAPI
2224  HWND hWnd,
2225  UINT Flags);
2226 
2227 DWORD
2228 NTAPI
2230 
2231 SHORT
2232 NTAPI
2234  INT Key);
2235 
2236 _Success_(return != 0)
2237 _At_(pustrName->Buffer, _Out_z_bytecap_post_bytecount_(pustrName->MaximumLength, return * 2 + 2))
2238 ULONG
2239 APIENTRY
2240 NtUserGetAtomName(
2241  _In_ ATOM atom,
2242  _Inout_ PUNICODE_STRING pustrName);
2243 
2244 UINT
2245 NTAPI
2247 
2248 BOOL
2249 NTAPI
2251  LPPOINT lpPoint);
2252 
2253 BOOL
2254 NTAPI
2257  PUNICODE_STRING ClassName,
2258  LPWNDCLASSEXW wcex,
2259  LPWSTR *ppszMenuName,
2260  BOOL Ansi);
2261 
2262 INT
2263 NTAPI
2265  HWND hWnd,
2266  BOOL Real, /* 0 GetClassNameW, 1 RealGetWindowClassA/W */
2267  PUNICODE_STRING ClassName);
2268 
2269 HANDLE
2270 NTAPI
2272  UINT fmt,
2273  PGETCLIPBDATA pgcd);
2274 
2275 INT
2276 NTAPI
2278  UINT uFormat,
2279  LPWSTR lpszFormatName,
2280  INT cchMaxCount);
2281 
2282 HWND
2283 NTAPI
2285 
2286 DWORD
2287 NTAPI
2289 
2290 HWND
2291 NTAPI
2293 
2294 BOOL
2295 NTAPI
2297  RECT *lpRect);
2298 
2299 BOOL
2300 NTAPI
2302  HWND hWnd,
2303  PCOMBOBOXINFO pcbi);
2304 
2305 HBRUSH
2306 NTAPI
2308  HWND hwnd,
2309  HDC hdc,
2310  UINT ctlType);
2311 
2312 HBRUSH
2313 NTAPI
2315  HWND hwndParent,
2316  HWND hwnd,
2317  HDC hdc,
2318  UINT CtlMsg);
2319 
2320 ULONG_PTR
2321 NTAPI
2322 NtUserGetCPD(
2323  HWND hWnd,
2324  GETCPD Flags,
2325  ULONG_PTR Proc);
2326 
2327 HCURSOR
2328 NTAPI
2330  HCURSOR hCursor,
2331  DWORD istep,
2332  INT *rate_jiffies,
2333  DWORD *num_steps);
2334 
2335 BOOL
2336 NTAPI
2338  PCURSORINFO pci);
2339 
2340 HDC
2341 NTAPI
2342 NtUserGetDC(
2343  HWND hWnd);
2344 
2345 HDC
2346 NTAPI
2348  HWND hWnd,
2349  HANDLE hRegion,
2350  ULONG Flags);
2351 
2352 UINT
2353 NTAPI
2355 
2356 HWND
2357 NTAPI
2359 
2360 DWORD
2361 NTAPI
2363  HANDLE hProcess,
2364  DWORD uiFlags);
2365 
2366 BOOL
2367 NTAPI
2369  DWORD idThread,
2370  LPGUITHREADINFO lpgui);
2371 
2373 BOOL
2374 NTAPI
2375 NtUserGetIconInfo(
2376  _In_ HANDLE hCurIcon,
2381  _In_ BOOL bInternal);
2382 
2383 BOOL
2384 NTAPI
2386  HANDLE Handle,
2387  UINT istepIfAniCur,
2388  LONG *plcx,
2389  LONG *plcy);
2390 
2391 BOOL NTAPI
2392 NtUserGetImeHotKey(IN DWORD dwHotKey,
2393  OUT LPUINT lpuModifiers,
2394  OUT LPUINT lpuVKey,
2395  OUT LPHKL lphKL);
2396 
2397 BOOL
2398 NTAPI
2400  PIMEINFOEX pImeInfoEx,
2401  IMEINFOEXCLASS SearchType);
2402 
2403 DWORD
2404 NTAPI
2406  HWND hwnd,
2407  LPRECT rectWnd,
2408  LPPOINT ptIcon);
2409 
2410 HKL
2411 NTAPI
2413  DWORD dwThreadid);
2414 
2415 UINT
2416 NTAPI
2418  ULONG nItems,
2419  HKL *pHklBuff);
2420 
2421 BOOL
2422 NTAPI
2424  LPWSTR lpszName);
2425 
2426 DWORD
2427 NTAPI
2429  LPBYTE Unknown0);
2430 
2431 DWORD
2432 NTAPI
2434  DWORD TypeFlag);
2435 
2436 DWORD
2437 NTAPI
2439  LONG lParam,
2440  LPWSTR lpString,
2441  int nSize);
2442 
2443 SHORT
2444 NTAPI
2446  INT VirtKey);
2447 
2448 BOOL
2449 NTAPI
2451  HWND hwnd,
2452  COLORREF *pcrKey,
2453  BYTE *pbAlpha,
2454  DWORD *pdwFlags);
2455 
2456 DWORD
2457 NTAPI
2459  HWND hWnd);
2460 
2461 BOOL
2462 APIENTRY
2464  PMSG pMsg,
2465  HWND hWnd,
2466  UINT MsgFilterMin,
2467  UINT MsgFilterMax);
2468 
2469 DWORD
2470 NTAPI
2472  UINT cbSize,
2473  LPMOUSEMOVEPOINT lppt,
2474  LPMOUSEMOVEPOINT lpptBuf,
2475  int nBufPoints,
2476  DWORD resolution);
2477 
2478 BOOL
2479 NTAPI
2481  HANDLE hObject,
2482  DWORD nIndex,
2483  PVOID pvInformation,
2484  DWORD nLength,
2485  PDWORD nLengthNeeded);
2486 
2487 HWND
2488 NTAPI
2490 
2491 INT
2492 NTAPI
2494  UINT *paFormatPriorityList,
2495  INT cFormats);
2496 
2497 HWINSTA
2498 NTAPI
2500 
2501 DWORD
2502 NTAPI
2504  PRAWINPUT pData,
2505  PUINT pcbSize,
2506  UINT cbSizeHeader);
2507 
2508 DWORD
2509 NTAPI
2511  HRAWINPUT hRawInput,
2512  UINT uiCommand,
2513  LPVOID pData,
2514  PUINT pcbSize,
2515  UINT cbSizeHeader);
2516 
2517 DWORD
2518 NTAPI
2520  HANDLE hDevice,
2521  UINT uiCommand,
2522  LPVOID pData,
2523  PUINT pcbSize);
2524 
2525 DWORD
2526 NTAPI
2528  PRAWINPUTDEVICELIST pRawInputDeviceList,
2529  PUINT puiNumDevices,
2530  UINT cbSize);
2531 
2532 DWORD
2533 NTAPI
2535  PRAWINPUTDEVICE pRawInputDevices,
2536  PUINT puiNumDevices,
2537  UINT cbSize);
2538 
2539 BOOL
2540 NTAPI
2542  HWND hWnd,
2543  LONG idObject,
2544  PSCROLLBARINFO psbi);
2545 
2546 HDESK
2547 NTAPI
2549  DWORD dwThreadId,
2550  HDESK hConsoleDesktop);
2551 
2553 {
2573  THREADSTATE_GETTHREADINFO = 100, /* FIXME: Delete this HACK */
2574  THREADSTATE_PROGMANWINDOW, /* FIXME: Delete this HACK */
2575  THREADSTATE_TASKMANWINDOW, /* FIXME: Delete this HACK */
2576 };
2577 
2578 DWORD_PTR
2579 NTAPI
2581  DWORD Routine);
2582 
2583 BOOLEAN
2584 NTAPI
2586  HWND hwnd,
2587  PTITLEBARINFO pti);
2588 
2589 BOOL
2590 NTAPI
2592  HWND hWnd,
2593  LPRECT lpRect,
2594  BOOL fErase);
2595 
2596 INT
2597 NTAPI
2599  HWND hWnd,
2600  HRGN hRgn,
2601  BOOL bErase);
2602 
2603 HDC
2604 NTAPI
2606  HWND hWnd);
2607 
2608 BOOL
2609 NTAPI
2611  HWND hWnd,
2612  WINDOWPLACEMENT *lpwndpl);
2613 
2614 PCLS
2615 NTAPI
2618  PUNICODE_STRING ClassName);
2619 
2620 DWORD
2621 NTAPI
2623  DWORD dwUnknown1,
2624  DWORD dwUnknown2,
2625  DWORD dwUnknown3);
2626 
2627 BOOL
2628 NTAPI
2630  HWND hWndClient,
2631  HWND hWndServer);
2632 
2633 NTSTATUS
2634 NTAPI
2636  DWORD dwWinVersion,
2637  HANDLE hPowerRequestEvent,
2638  HANDLE hMediaRequestEvent);
2639 
2640 NTSTATUS
2641 NTAPI
2646  HINSTANCE hmodUser);
2647 
2648 DWORD
2649 NTAPI
2651  DWORD Unknown0,
2652  DWORD Unknown1,
2653  DWORD Unknown2,
2654  DWORD Unknown3,
2655  DWORD Unknown4,
2656  DWORD Unknown5,
2657  DWORD Unknown6,
2658  DWORD Unknown7,
2659  DWORD Unknown8,
2660  DWORD Unknown9,
2661  DWORD Unknown10,
2662  DWORD Unknown11);
2663 
2664 INT
2665 NTAPI
2667  HWND hWnd,
2668  LPWSTR lpString,
2669  INT nMaxCount);
2670 
2671 BOOL
2672 NTAPI
2674  HWND hWnd,
2675  CONST RECT *lpRect,
2676  BOOL bErase);
2677 
2678 BOOL
2679 NTAPI
2681  HWND hWnd,
2682  HRGN hRgn,
2683  BOOL bErase);
2684 
2685 BOOL
2686 NTAPI
2688  UINT format);
2689 
2690 BOOL
2691 NTAPI
2693  HWND hWnd,
2694  UINT_PTR uIDEvent);
2695 
2696 HKL
2697 NTAPI
2699  IN HANDLE Handle,
2700  IN DWORD offTable,
2701  IN PUNICODE_STRING puszKeyboardName,
2702  IN HKL hKL,
2703  IN PUNICODE_STRING puszKLID,
2704  IN DWORD dwKLID,
2705  IN UINT Flags);
2706 
2707 BOOL
2708 NTAPI
2710  HWINSTA hWindowStation);
2711 
2712 BOOL
2713 NTAPI
2715  HWND hWnd);
2716 
2717 BOOL
2718 NTAPI
2720 
2721 UINT
2722 NTAPI
2724  UINT keyCode,
2725  UINT transType,
2726  DWORD keyboardId,
2727  HKL dwhkl);
2728 
2729 typedef struct tagDOSENDMESSAGE
2730 {
2734 }
2736 
2737 BOOL
2738 NTAPI
2740  HWND hWnd,
2741  UINT Msg,
2742  WPARAM wParam,
2743  LPARAM lParam,
2744  ULONG_PTR ResultInfo,
2745  DWORD dwType, /* FNID_XX types */
2746  BOOL Ansi);
2747 
2748 DWORD
2749 NTAPI
2751  HWND hWnd,
2752  UINT cmd, /* Wine SW_ commands */
2753  BOOL Hide);
2754 
2755 DWORD
2756 NTAPI
2758 
2759 DWORD
2760 NTAPI
2762  DWORD Unknown0,
2763  DWORD Unknown1);
2764 
2765 DWORD
2766 NTAPI
2768  DWORD Unknown0,
2769  DWORD Unknown1);
2770 
2771 BOOL
2772 NTAPI
2774  HWND hWnd,
2775  int X,
2776  int Y,
2777  int nWidth,
2778  int nHeight,
2779  BOOL bRepaint
2780 );
2781 
2782 DWORD
2783 NTAPI
2784 NtUserNotifyIMEStatus(HWND hwnd, BOOL fOpen, DWORD dwConversion);
2785 
2786 BOOL
2787 NTAPI
2789  HANDLE NewProcessId,
2790  HANDLE ParentThreadId,
2791  ULONG dwUnknown,
2792  ULONG CreateFlags);
2793 
2794 VOID
2795 NTAPI
2797  DWORD Event,
2798  HWND hWnd,
2799  LONG idObject,
2800  LONG idChild);
2801 
2802 BOOL
2803 NTAPI
2805  HWND hWnd,
2806  DWORD Unknown1);
2807 
2808 HDESK
2809 NTAPI
2812  DWORD dwFlags,
2813  ACCESS_MASK dwDesiredAccess);
2814 
2815 HDESK
2816 NTAPI
2818  DWORD dwFlags,
2819  BOOL fInherit,
2820  ACCESS_MASK dwDesiredAccess);
2821 
2822 HWINSTA
2823 NTAPI
2826  ACCESS_MASK dwDesiredAccess);
2827 
2828 BOOL
2829 NTAPI
2831  HDC hDC);
2832 
2833 DWORD
2834 NTAPI
2836  HWND hWnd,
2837  HDC hDC,
2838  ULONG left, // x,
2839  ULONG right, // width, // Scale the edge thickness, offset?
2840  ULONG top, // y,
2841  BOOL bActive); // DWORD Flags); DC_ACTIVE or WS_ACTIVECAPTION, by checking WNDS_ACTIVEFRAME and foreground.
2842 
2843 BOOL
2844 APIENTRY
2846  PMSG pMsg,
2847  HWND hWnd,
2848  UINT MsgFilterMin,
2849  UINT MsgFilterMax,
2850  UINT RemoveMsg);
2851 
2852 BOOL
2853 NTAPI
2855  HWND hWnd,
2856  UINT Msg,
2857  WPARAM wParam,
2858  LPARAM lParam);
2859 
2860 BOOL
2861 NTAPI
2863  DWORD idThread,
2864  UINT Msg,
2865  WPARAM wParam,
2866  LPARAM lParam);
2867 
2868 BOOL
2869 NTAPI
2871  HWND hwnd,
2872  HDC hdcBlt,
2873  UINT nFlags);
2874 
2875 NTSTATUS
2876 NTAPI
2879  OUT PUSERCONNECT pUserConnect,
2880  IN ULONG Size); /* sizeof(USERCONNECT) */
2881 
2882 NTSTATUS
2883 NTAPI
2885  IN HANDLE ThreadHandle,
2887  OUT PVOID ThreadInformation,
2889 
2890 DWORD_PTR
2891 NTAPI
2893  HIMC hIMC,
2894  DWORD dwType);
2895 
2896 DWORD
2897 NTAPI
2899  DWORD Unknown0);
2900 
2901 DWORD
2902 NTAPI
2904  DWORD Unknown0,
2905  DWORD Unknown1,
2906  DWORD Unknown2,
2907  DWORD Unknown3,
2908  DWORD Unknown4);
2909 
2910 #define QUERY_WINDOW_UNIQUE_PROCESS_ID 0x00
2911 #define QUERY_WINDOW_UNIQUE_THREAD_ID 0x01
2912 #define QUERY_WINDOW_ACTIVE 0x02
2913 #define QUERY_WINDOW_FOCUS 0x03
2914 #define QUERY_WINDOW_ISHUNG 0x04
2915 #define QUERY_WINDOW_REAL_ID 0x05
2916 #define QUERY_WINDOW_FOREGROUND 0x06
2917 #define QUERY_WINDOW_DEFAULT_IME 0x07
2918 #define QUERY_WINDOW_DEFAULT_ICONTEXT 0x08
2919 #define QUERY_WINDOW_ACTIVE_IME 0x09
2920 
2921 DWORD_PTR
2922 NTAPI
2924  HWND hWnd,
2925  DWORD Index);
2926 
2927 BOOL
2928 NTAPI
2930  LPMSG lpMsg,
2931  HWND hWnd,
2932  UINT wMsgFilterMin,
2933  UINT wMsgFilterMax,
2934  UINT wRemoveMsg,
2935  BOOL bGMSG);
2936 
2937 HWND
2938 NTAPI
2940  HWND Parent,
2941  LONG x,
2942  LONG y);
2943 
2944 BOOL
2945 NTAPI
2947  DWORD dwWakeMask,
2948  UINT uTimeout);
2949 
2950 BOOL
2951 NTAPI
2953  HWND hWnd,
2954  CONST RECT *lprcUpdate,
2955  HRGN hrgnUpdate,
2956  UINT flags);
2957 
2958 RTL_ATOM
2959 NTAPI
2961  WNDCLASSEXW* lpwcx,
2962  PUNICODE_STRING pustrClassName,
2963  PUNICODE_STRING pustrCVersion,
2964  PCLSMENUNAME pClassMenuName,
2965  DWORD fnID,
2966  DWORD Flags,
2967  LPDWORD pWow);
2968 
2969 BOOL
2970 NTAPI
2972  IN PCRAWINPUTDEVICE pRawInputDevices,
2973  IN UINT uiNumDevices,
2974  IN UINT cbSize);
2975 
2976 BOOL
2977 NTAPI
2979  PUNICODE_STRING m_dllname1,
2980  PUNICODE_STRING m_funname1,
2981  DWORD dwUnknown3,
2982  DWORD dwUnknown4);
2983 
2984 BOOL
2985 NTAPI
2987  HWND hWnd,
2988  int id,
2989  UINT fsModifiers,
2990  UINT vk);
2991 
2992 DWORD
2993 NTAPI
2995  DWORD Unknown0);
2996 
2997 UINT
2998 NTAPI
3000  PUNICODE_STRING MessageName);
3001 
3002 DWORD
3003 NTAPI
3005  DWORD dwUnknown1,
3006  DWORD dwUnknown2,
3007  DWORD dwUnknown3);
3008 
3009 DWORD
3010 NTAPI
3012  DWORD dwUnknown1,
3013  DWORD dwUnknown2,
3014  DWORD dwUnknown3,
3015  DWORD dwUnknown4);
3016 
3017 DWORD
3018 NTAPI
3020 
3021 DWORD
3022 NTAPI
3024 
3025 HANDLE
3026 NTAPI
3028  HWND hWnd,
3029  ATOM Atom);
3030 
3031 HDESK
3032 NTAPI
3035  IN PUNICODE_STRING DesktopPath,
3036  IN BOOL bInherit,
3037  OUT HWINSTA* phWinSta);
3038 
3039 DWORD
3040 NTAPI
3042  DWORD Unknown0);
3043 
3044 BOOL
3045 NTAPI
3047  HWND hwnd,
3048  int fnBar,
3049  PSBDATA pSBData,
3050  LPSCROLLINFO lpsi);
3051 
3052 BOOL
3053 NTAPI
3055  HDC hDC,
3056  int dx,
3057  int dy,
3058  CONST RECT *lprcScroll,
3059  CONST RECT *lprcClip ,
3060  HRGN hrgnUpdate,
3061  LPRECT lprcUpdate);
3062 
3063 DWORD
3064 NTAPI
3066  HWND hWnd,
3067  INT dx,
3068  INT dy,
3069  const RECT *rect,
3070  const RECT *clipRect,
3071  HRGN hrgnUpdate,
3072  LPRECT rcUpdate,
3073  UINT flags);
3074 
3075 UINT
3076 NTAPI
3078  UINT nInputs,
3079  LPINPUT pInput,
3080  INT cbSize);
3081 
3082 HWND
3083 NTAPI
3085  HWND Wnd);
3086 
3087 DWORD
3088 NTAPI
3090  DWORD dwUnknown1,
3091  DWORD dwUnknown2);
3092 
3093 HWND
3094 NTAPI
3096  HWND Wnd);
3097 
3098 ULONG_PTR
3099 NTAPI
3101  HWND hWnd,
3102  INT Offset,
3103  ULONG_PTR dwNewLong,
3104  BOOL Ansi);
3105 
3106 WORD
3107 NTAPI
3109  HWND hWnd,
3110  INT nIndex,
3111  WORD wNewWord);
3112 
3113 HANDLE
3114 NTAPI
3116  UINT fmt,
3117  HANDLE hMem,
3118  PSETCLIPBDATA scd);
3119 
3120 HWND
3121 NTAPI
3123  HWND hWndNewViewer);
3124 
3125 HPALETTE
3126 NTAPI
3128  HDC hDC,
3129  HPALETTE hpal,
3130  BOOL ForceBackground);
3131 
3132 DWORD
3133 NTAPI
3135  DWORD Unknown0,
3136  DWORD Unknown1);
3137 
3138 HCURSOR
3139 NTAPI
3141  HCURSOR hCursor);
3142 
3143 BOOL
3144 NTAPI
3146  HANDLE Handle,
3148 
3149 BOOL
3150 NTAPI
3152  _In_ HCURSOR hCursor,
3153  _In_opt_ PUNICODE_STRING pustrModule,
3154  _In_opt_ PUNICODE_STRING puSrcName,
3155  _In_ const CURSORDATA *pCursorData);
3156 
3158 {
3163 
3164 HICON
3165 NTAPI
3167  _In_ PUNICODE_STRING pustrModule,
3168  _In_ PUNICODE_STRING pustrRsrc,
3170 
3171 DWORD
3172 NTAPI
3174  DWORD Unknown0,
3175  DWORD Unknown1);
3176 
3177 DWORD
3178 APIENTRY
3180  DWORD Unknown0);
3181 
3182 HWND
3183 NTAPI
3185  HWND hWnd);
3186 
3187 DWORD
3188 NTAPI
3190  DWORD Unknown0,
3191  DWORD Unknown1,
3192  DWORD Unknown2,
3193  DWORD Unknown3,
3194  DWORD Unknown4);
3195 
3196 BOOL
3197 NTAPI
3199  PIMEINFOEX pImeInfoEx);
3200 
3201 DWORD
3202 NTAPI
3203 NtUserSetImeOwnerWindow(PIMEINFOEX pImeInfoEx, BOOL fFlag);
3204 
3205 DWORD
3206 NTAPI
3208  DWORD dwUnknown1,
3209  DWORD dwUnknown2,
3210  DWORD dwUnknown3,
3211  DWORD dwUnknown4);
3212 
3213 NTSTATUS
3214 NTAPI
3216  IN HANDLE ThreadHandle,
3218  IN PVOID ThreadInformation,
3220 
3221 DWORD
3222 NTAPI
3224  HWND hwnd,
3225  UINT showCmd,
3226  LPRECT rect,
3227  LPPOINT pt);
3228 
3229 BOOL
3230 NTAPI
3232  LPBYTE lpKeyState);
3233 
3234 BOOL
3235 NTAPI
3237  HWND hwnd,
3238  COLORREF crKey,
3239  BYTE bAlpha,
3240  DWORD dwFlags);
3241 
3242 BOOL
3243 NTAPI
3245  HWND hWnd);
3246 
3247 BOOL
3248 NTAPI
3250  HANDLE hObject,
3251  DWORD nIndex,
3252  PVOID pvInformation,
3253  DWORD nLength);
3254 
3255 HWND
3256 NTAPI
3258  HWND hWndChild,
3259  HWND hWndNewParent);
3260 
3261 BOOL
3262 NTAPI
3264  HWINSTA hWindowStation);
3265 
3266 BOOL
3267 NTAPI
3269  HWND hWnd,
3270  ATOM Atom,
3271  HANDLE Data);
3272 
3273 DWORD
3274 NTAPI
3276  DWORD Unknown0);
3277 
3278 DWORD
3279 NTAPI
3281  HWND hwnd,
3282  int fnBar,
3283  LPCSCROLLINFO lpsi,
3284  BOOL bRedraw);
3285 
3286 BOOL
3287 NTAPI
3289  HWND hwndShell,
3290  HWND hwndShellListView);
3291 
3292 BOOL
3293 NTAPI
3295  int cElements,
3296  IN CONST INT *lpaElements,
3297  IN CONST COLORREF *lpaRgbValues,
3298  FLONG Flags);
3299 
3300 BOOL
3301 NTAPI
3303  HCURSOR hcur,
3304  DWORD id);
3305 
3306 BOOL
3307 NTAPI
3309  HDESK hDesktop);
3310 
3311 DWORD
3312 NTAPI
3314  DWORD Unknown0,
3315  DWORD Unknown1);
3316 
3317 UINT_PTR
3318 NTAPI
3320  HWND hWnd,
3321  UINT_PTR nIDEvent,
3322  UINT uElapse,
3323  TIMERPROC lpTimerFunc);
3324 
3325 DWORD
3326 NTAPI
3327 NtUserSetThreadLayoutHandles(HKL hNewKL, HKL hOldKL);
3328 
3329 UINT_PTR
3330 NTAPI
3332  HWND hWnd,
3333  UINT_PTR nIDEvent,
3334  UINT uElapse,
3335  TIMERPROC lpTimerFunc);
3336 
3337 BOOL
3338 NTAPI
3340  HWND hWnd,
3341  WORD fnID);
3342 
3343 LONG
3344 NTAPI
3346  HWND hWnd,
3347  DWORD Index,
3348  LONG NewValue,
3349  BOOL Ansi);
3350 
3351 #ifdef _WIN64
3352 LONG_PTR
3353 NTAPI
3354 NtUserSetWindowLongPtr(
3355  HWND hWnd,
3356  DWORD Index,
3357  LONG_PTR NewValue,
3358  BOOL Ansi);
3359 #endif // _WIN64
3360 
3361 BOOL
3362 NTAPI
3364  HWND hWnd,
3365  WINDOWPLACEMENT *lpwndpl);
3366 
3367 BOOL
3368 NTAPI
3370  HWND hWnd,
3371  HWND hWndInsertAfter,
3372  int X,
3373  int Y,
3374  int cx,
3375  int cy,
3376  UINT uFlags);
3377 
3378 INT
3379 NTAPI
3381  HWND hWnd,
3382  HRGN hRgn,
3383  BOOL bRedraw);
3384 
3385 HHOOK
3386 NTAPI
3388  int idHook,
3389  HOOKPROC lpfn,
3390  BOOL Ansi);
3391 
3392 HHOOK
3393 NTAPI
3395  HINSTANCE Mod,
3397  DWORD ThreadId,
3398  int HookId,
3399  HOOKPROC HookProc,
3400  BOOL Ansi);
3401 
3402 BOOL
3403 NTAPI
3405  IN HWINSTA hWindowStation,
3406  IN PLUID pluid,
3407  IN PSID psid OPTIONAL,
3408  IN DWORD size);
3409 
3410 WORD
3411 NTAPI
3413  HWND hWnd,
3414  INT Index,
3415  WORD NewVal);
3416 
3418 NTAPI
3420  UINT eventMin,
3421  UINT eventMax,
3422  HMODULE hmodWinEventProc,
3423  PUNICODE_STRING puString,
3424  WINEVENTPROC lpfnWinEventProc,
3425  DWORD idProcess,
3426  DWORD idThread,
3427  UINT dwflags);
3428 
3429 BOOL
3430 NTAPI
3432  HWND hWnd);
3433 
3434 BOOL
3435 NTAPI
3437  HWND hWnd);
3438 
3439 DWORD
3440 NTAPI
3442  HWND hWnd,
3443  int wBar,
3444  DWORD bShow);
3445 
3446 BOOL
3447 NTAPI
3449  HWND hWnd,
3450  LONG nCmdShow);
3451 
3452 BOOL
3453 NTAPI
3455  HWND hWnd,
3456  LONG nCmdShow);
3457 
3458 BOOL
3459 NTAPI
3461 
3462 BOOL
3463 NTAPI
3465  HDESK hDesktop);
3466 
3467 BOOL
3468 NTAPI
3470  UINT uiAction,
3471  UINT uiParam,
3472  PVOID pvParam,
3473  UINT fWinIni);
3474 
3475 DWORD
3476 NTAPI
3478  DWORD dwUnknown1);
3479 
3480 INT
3481 NTAPI
3483  UINT wVirtKey,
3484  UINT wScanCode,
3485  PBYTE lpKeyState,
3486  LPWSTR pwszBuff,
3487  int cchBuff,
3488  UINT wFlags,
3489  HKL dwhkl);
3490 
3491 BOOL
3492 NTAPI
3494  LPTRACKMOUSEEVENT lpEventTrack);
3495 
3496 int
3497 NTAPI
3499  HWND Window,
3500  HACCEL Table,
3501  LPMSG Message);
3502 
3503 BOOL
3504 NTAPI
3506  LPMSG lpMsg,
3507  UINT flags );
3508 
3509 BOOL
3510 NTAPI
3512  HHOOK Hook);
3513 
3514 BOOL
3515 NTAPI
3517  HWINEVENTHOOK hWinEventHook);
3518 
3519 BOOL
3520 NTAPI
3522  HKL hKl);
3523 
3524 BOOL
3525 NTAPI
3527  HWINSTA hWindowStation);
3528 
3529 BOOL
3530 NTAPI
3532  PUNICODE_STRING ClassNameOrAtom,
3534  PCLSMENUNAME pClassMenuName);
3535 
3536 BOOL
3537 NTAPI
3539  HWND hWnd,
3540  int id);
3541 
3542 BOOL
3543 NTAPI
3545 
3546 BOOL
3547 NTAPI
3549  HIMC hIMC,
3550  DWORD dwType,
3551  DWORD_PTR dwValue);
3552 
3553 DWORD
3554 NTAPI
3556  DWORD Unknown0,
3557  DWORD Unknown1,
3558  DWORD Unknown2);
3559 
3560 BOOL
3561 NTAPI
3563  HWND hwnd,
3564  HDC hdcDst,
3565  POINT *pptDst,
3566  SIZE *psize,
3567  HDC hdcSrc,
3568  POINT *pptSrc,
3569  COLORREF crKey,
3570  BLENDFUNCTION *pblend,
3571  DWORD dwFlags,
3572  RECT *prcDirty);
3573 
3574 BOOL
3575 NTAPI
3577  DWORD dwReserved,
3578  BOOL bEnable);
3579 
3580 BOOL
3581 NTAPI
3583  IN HANDLE hUserHandle,
3584  IN HANDLE hJob,
3585  IN BOOL bGrant);
3586 
3587 BOOL
3588 NTAPI
3590  HANDLE hHdl);
3591 
3592 BOOL
3593 NTAPI
3595  HWND hWnd,
3596  CONST RECT *lpRect);
3597 
3598 BOOL
3599 APIENTRY
3601  LPARAM lParam);
3602 
3603 DWORD
3604 NTAPI
3606  WCHAR wChar,
3608  BOOL bUsehHK);
3609 
3610 DWORD
3611 NTAPI
3613  IN HANDLE hProcess,
3614  IN DWORD dwMilliseconds,
3615  IN BOOL bSharedWow); /* Always FALSE */
3616 
3617 DWORD
3618 NTAPI
3620  DWORD Unknown0);
3621 
3622 BOOL
3623 NTAPI
3625 
3626 DWORD
3627 NTAPI
3629  DWORD Unknown0,
3630  DWORD Unknown1,
3631  DWORD Unknown2,
3632  DWORD Unknown3,
3633  DWORD Unknown4,
3634  DWORD Unknown5);
3635 
3636 HWND
3637 NTAPI
3639  LONG X,
3640  LONG Y);
3641 
3642 DWORD
3643 NTAPI
3645 
3646 /* NtUserBad
3647  * ReactOS-specific NtUser calls and their related structures, both which shouldn't exist.
3648  */
3649 
3650 #define NOPARAM_ROUTINE_ISCONSOLEMODE 0xffff0001
3651 #define ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING 0xfffe000d
3652 #define ONEPARAM_ROUTINE_GETDESKTOPMAPPING 0xfffe000e
3653 #define TWOPARAM_ROUTINE_SETMENUBARHEIGHT 0xfffd0050
3654 #define TWOPARAM_ROUTINE_SETGUITHRDHANDLE 0xfffd0051
3655 #define HWNDLOCK_ROUTINE_SETFOREGROUNDWINDOWMOUSE 0xfffd0052
3656 
3657 #define MSQ_STATE_CAPTURE 0x1
3658 #define MSQ_STATE_ACTIVE 0x2
3659 #define MSQ_STATE_FOCUS 0x3
3660 #define MSQ_STATE_MENUOWNER 0x4
3661 #define MSQ_STATE_MOVESIZE 0x5
3662 #define MSQ_STATE_CARET 0x6
3663 
3664 #define TWOPARAM_ROUTINE_ROS_UPDATEUISTATE 0x1004
3665 #define HWNDPARAM_ROUTINE_ROS_NOTIFYWINEVENT 0x1005
3666 
3667 BOOL
3668 NTAPI
3670  IN HMONITOR hMonitor,
3671  OUT LPMONITORINFO pMonitorInfo);
3672 
3673 /* Should be done in usermode */
3674 
3675 HMONITOR
3676 NTAPI
3678  IN POINT point,
3679  IN DWORD dwFlags);
3680 
3681 HMONITOR
3682 NTAPI
3684  IN LPCRECT pRect,
3685  IN DWORD dwFlags);
3686 
3687 HMONITOR
3688 NTAPI
3690  IN HWND hWnd,
3691  IN DWORD dwFlags);
3692 
3693 typedef struct _SETSCROLLBARINFO
3694 {
3699 
3700 BOOL
3701 NTAPI
3703  HWND hwnd,
3704  LONG idObject,
3706 
3707 #endif /* __WIN32K_NTUSER_H */
3708 
3709 /* EOF */
ULONG fFreed
Definition: ntuser.h:435
ULONG bAnsi
Definition: ntuser.h:93
struct tagOEMBITMAPINFO OEMBITMAPINFO
INT aiSysMet[SM_CMETRICS]
Definition: ntuser.h:971
DWORD NTAPI NtUserAssociateInputContext(HWND hWnd, HIMC hIMC, DWORD dwFlags)
Definition: ntstubs.c:14
DWORD NTAPI NtUserSetThreadLayoutHandles(HKL hNewKL, HKL hOldKL)
Definition: ntstubs.c:1020
WCHAR szName[16]
Definition: ntuser.h:947
WND wnd
Definition: ntuser.h:751
HKL NTAPI NtUserGetKeyboardLayout(DWORD dwThreadid)
DWORD_PTR dwMenuData
Definition: ntuser.h:404
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:1142
signed char * PCHAR
Definition: retypes.h:7
INT cxBmp
Definition: ntuser.h:363
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:1025
ULONG_PTR cHandleEntries
Definition: ntuser.h:1014
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:2441
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:411
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:35
ULONG fsHooks
Definition: ntuser.h:302
HFONT hMsgFont
Definition: ntuser.h:956
UINT uCodePage
Definition: ntuser.h:1245
POINT MaxPos
Definition: ntuser.h:722
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:752
#define IN
Definition: typedefs.h:39
CALLBACKWND CallbackWnd
Definition: ntuser.h:303
GLint GLint GLsizei width
Definition: gl.h:1546
#define LONG_PTR
Definition: treelist.c:79
DWORD_PTR dwItemData
Definition: ntuser.h:354
return
Definition: dirsup.c:529
struct _CLSMENUNAME CLSMENUNAME
BOOL WINAPI ImeConfigure(HKL, HWND, DWORD, LPVOID)
BOOL NTAPI NtUserRegisterUserApiHook(PUNICODE_STRING m_dllname1, PUNICODE_STRING m_funname1, DWORD dwUnknown3, DWORD dwUnknown4)
Definition: hook.c:1724
IMEINFO ImeInfo
Definition: ntuser.h:1244
ULONG Win32ClientInfo3[26]
Definition: ntuser.h:318
WORD fsWakeBitsJournal
Definition: ntuser.h:165
DWORD ExStyle
Definition: ntuser.h:674
PVOID pSelf
Definition: ntuser.h:187
ASMGENDATA Table[]
Definition: genincdata.c:61
static HICON
Definition: imagelist.c:84
UINT wID
Definition: ntuser.h:348
_GETCPD
Definition: ntuser.h:512
INT cInDDEMLCallback
Definition: ntuser.h:305
WNDPROC pfnStaticWndProc
Definition: ntuser.h:780
INT cpxThumb
Definition: ntuser.h:502
DWORD dwProdVersion
Definition: ntuser.h:1175
LPWSTR lpName
Definition: ntuser.h:1133
DWORD NTAPI NtUserDdeInitialize(DWORD Unknown0, DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
Definition: dde.c:465
HWND hTaskManWindow
Definition: ntuser.h:137
USHORT BitCount
Definition: ntuser.h:998
UINT HideFocus
Definition: ntuser.h:728
struct _DESKTOP * rpdeskParent
Definition: ntuser.h:545
struct _WND * spwndPopupMenu
Definition: ntuser.h:444
LPARAM lParam
Definition: ntuser.h:1226
INT fCUASLayer
Definition: ntuser.h:1182
unsigned short RTL_ATOM
Definition: atom.c:42
ULONG CURSORF_flags
Definition: ntuser.h:1137
INT page
Definition: ntuser.h:496
LIST_ENTRY ThreadListEntry
Definition: ntuser.h:734
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:593
WNDPROC pfnClientPrevious
Definition: ntuser.h:526
INT fSysWow64Only
Definition: ntuser.h:1181
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:2646
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
DWORD NTAPI NtUserWaitForInputIdle(IN HANDLE hProcess, IN DWORD dwMilliseconds, IN BOOL bSharedWow)
Definition: message.c:3056
INT fInitOpen
Definition: ntuser.h:1173
DPISERVERINFO dpiSystem
Definition: ntuser.h:990
#define FNID_NUMSERVERPROC
Definition: ntuser.h:865
ULONG fToggle
Definition: ntuser.h:424
#define _Inout_
Definition: ms_sal.h:378
DWORD NTAPI NtUserRemoteRedrawScreen(VOID)
Definition: ntstubs.c:1088
enum _CONSOLECONTROL CONSOLECONTROL
ULONG PropListItems
Definition: ntuser.h:694
HBRUSH hbrBack
Definition: ntuser.h:405
DWORD NTAPI NtUserDragObject(HWND hwnd1, HWND hwnd2, UINT u1, DWORD dw1, HCURSOR hc1)
Definition: ntstubs.c:56
DWORD ExStyle2
Definition: ntuser.h:715
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:1636
_Out_opt_ PICONINFO _Inout_opt_ PUNICODE_STRING lpInstName
Definition: ntuser.h:2377
struct tagMENULIST * PMENULIST
ULONG fIsSysMenu
Definition: ntuser.h:419
struct _THREADINFO * pti
Definition: ntuser.h:22
struct _CLS CLS
HANDLE hLocale
Definition: ntuser.h:1119
struct tagDDEPACK * PDDEPACK
DWORD NTAPI NtUserModifyUserStartupInfoFlags(DWORD Unknown0, DWORD Unknown1)
Definition: ntstubs.c:197
ULONG fRightButton
Definition: ntuser.h:423
struct _WNDMSG WNDMSG
DWORD NTAPI NtUserGetListBoxInfo(HWND hWnd)
Definition: window.c:3333
PVOID Buffer
Definition: ntuser.h:94
#define _At_(target, annos)
Definition: ms_sal.h:244
LPSTR pszClientAnsiMenuName
Definition: ntuser.h:472
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:1031
#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:664
BOOL WINAPI ImeProcessKey(HIMC, UINT, LPARAM, CONST LPBYTE)
struct _CLIENTTHREADINFO * PCLIENTTHREADINFO
WORD ATOM
Definition: dimm.idl:113
struct tagMENULIST * pNext
Definition: ntuser.h:371
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:3163
ATOM atomFrostedWindowProp
Definition: ntuser.h:1030
HKL NTAPI NtUserActivateKeyboardLayout(HKL hKl, ULONG Flags)
Definition: kbdlayout.c:758
struct tagCURSORDATA * aspcur
Definition: ntuser.h:1150
#define pt(x, y)
Definition: drawing.c:79
struct _CLIENTINFO CLIENTINFO
WNDPROC pfnGhostWndProc
Definition: ntuser.h:782
LRESULT NTAPI NtUserCallNextHookEx(int Code, WPARAM wParam, LPARAM lParam, BOOL Ansi)
Definition: hook.c:1371
UINT ucWheelScrollLines
Definition: ntuser.h:983
struct tagCURSORDATA * PCURSORDATA
UINT WINAPI ImeToAsciiEx(UINT, UINT, CONST LPBYTE, LPDWORD, UINT, HIMC)
LONG NTAPI NtUserChangeDisplaySettings(PUNICODE_STRING lpszDeviceName, LPDEVMODEW lpDevMode, DWORD dwflags, LPVOID lParam)
Definition: display.c:870
INT page
Definition: ntuser.h:481
WNDPROC pfnEditWndProc
Definition: ntuser.h:777
ULONG_PTR dwClientImcData
Definition: ntuser.h:194
UINT NTAPI NtUserGetMenuIndex(HMENU hMenu, HMENU hSubMenu)
Definition: menu.c:6070
struct @1584 Msg[]
uint16_t * PWSTR
Definition: typedefs.h:56
unsigned char type
Definition: ntuser.h:25
HINSTANCE hModule
Definition: ntuser.h:678
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:1211
WNDPROC lpfnWndProc
Definition: ntuser.h:688
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:558
static DWORD DWORD istep
Definition: cursoricon.c:1638
SBDATA Vert
Definition: ntuser.h:489
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:2552
TW_UINT32 TW_UINT16 TW_UINT16 MSG
Definition: twain.h:1827
LIST_ENTRY ListEntry
Definition: ntuser.h:410
struct tagMENULIST MENULIST
NTSTATUS NTAPI NtUserBuildHimcList(DWORD dwThreadId, DWORD dwCount, HIMC *phList, LPDWORD pdwCount)
Definition: ime.c:75
HDESK hDesk
Definition: ntuser.h:1072
WNDPROC_EX pfnStaticWndProc
Definition: ntuser.h:813
DWORD recipients
Definition: ntuser.h:1071
WNDPROC pfnDefWindowProc
Definition: ntuser.h:770
HWND NTAPI NtUserGetClipboardViewer(VOID)
Definition: clipboard.c:800
UINT fState
Definition: ntuser.h:347
struct _PFNCLIENT * PPFNCLIENT
struct _tagFINDEXISTINGCURICONPARAM FINDEXISTINGCURICONPARAM
ULONG fDestroyed
Definition: ntuser.h:432
LONG cLockObj
Definition: ntuser.h:1295
BOOL NTAPI NtUserUnlockWindowStation(HWINSTA hWindowStation)
Definition: winsta.c:1565
_Out_opt_ PICONINFO _Inout_opt_ PUNICODE_STRING _Inout_opt_ PUNICODE_STRING _Out_opt_ LPDWORD pbpp
Definition: ntuser.h:2377
Definition: ntuser.h:190
BOOL NTAPI NtUserCloseClipboard(VOID)
Definition: clipboard.c:589
*nSize LPSTR _Inout_ LPDWORD nSize
Definition: winbase.h:2055
LONG NTSTATUS
Definition: precomp.h:26
struct tagHOOK * phkNext
Definition: ntuser.h:223
DWORD NTAPI NtUserGetInternalWindowPos(HWND hwnd, LPRECT rectWnd, LPPOINT ptIcon)
Definition: winpos.c:3236
PVOID pActCtx
Definition: ntuser.h:279
ULONG ulWidth
Definition: ntuser.h:361
DWORD WINAPI ImeGetImeMenuItems(HIMC, DWORD, DWORD, LPIMEMENUITEMINFOW, LPIMEMENUITEMINFOW, DWORD)
ULONG hTaskWow
Definition: ntuser.h:209
ULONG MaximumLength
Definition: ntuser.h:102
LRESULT WINAPI ImeEscape(HIMC, UINT, LPVOID)
DWORD APIENTRY NtUserDbgWin32HeapFail(DWORD Unknown0, DWORD Unknown1)
Definition: ntstubs.c:274
static HDC
Definition: imagelist.c:92
ULONG_PTR CI_flags
Definition: ntuser.h:293
#define CALLBACK
Definition: compat.h:35
_In_ DWORD nLength
Definition: wincon.h:473
struct _REGISTER_SYSCLASS * PREGISTER_SYSCLASS
INT pxRight
Definition: ntuser.h:501
UINT cicur
Definition: ntuser.h:1149
LIST_ENTRY PropListHead
Definition: ntuser.h:693
LPWSTR pwszClientUnicodeMenuName
Definition: ntuser.h:473
TRANSMSG TransMsg[ANYSIZE_ARRAY]
Definition: ntuser.h:1232
HWND hWnd
Definition: settings.c:17
ULONG cch
Definition: ntuser.h:353
ULONG fInCancel
Definition: ntuser.h:436
WNDPROC pfnMessageWindowProc
Definition: ntuser.h:771
UINT Global
Definition: ntuser.h:567
#define CCHILDREN_SCROLLBAR
Definition: winuser.h:3725
struct tagOEMBITMAPINFO * POEMBITMAPINFO
DWORD NTAPI NtUserNotifyIMEStatus(HWND hwnd, BOOL fOpen, DWORD dwConversion)
Definition: ime.c:139
BOOL NTAPI NtUserEndDeferWindowPosEx(HDWP WinPosInfo, BOOL bAsync)
Definition: winpos.c:3166
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES IN DWORD IN DWORD IN DWORD IN DWORD Unknown6
Definition: conport.c:35
HKL hKL
Definition: ntuser.h:1201
struct tagIMEINFOEX IMEINFOEX
INT pos
Definition: ntuser.h:482
HANDLE HWND
Definition: compat.h:19
PWND spwnd
Definition: ntuser.h:1198
struct _WND * spwndActivePopup
Definition: ntuser.h:449
PSBINFO pSBInfo
Definition: ntuser.h:696
struct _WND WND
SHORT xHotspot
Definition: ntuser.h:1138
static HRGN hRgn
Definition: mapping.c:33
BOOL NTAPI NtUserGetScrollBarInfo(HWND hWnd, LONG idObject, PSCROLLBARINFO psbi)
Definition: scrollbar.c:1256
ULONG cyItem
Definition: ntuser.h:358
BOOL NTAPI NtUserRegisterRawInputDevices(IN PCRAWINPUTDEVICE pRawInputDevices, IN UINT uiNumDevices, IN UINT cbSize)
Definition: ntstubs.c:817
INT NTAPI NtUserInternalGetWindowText(HWND hWnd, LPWSTR lpString, INT nMaxCount)
Definition: window.c:4356
HMENU SystemMenu
Definition: ntuser.h:698
INT NTAPI NtUserGetPriorityClipboardFormat(UINT *paFormatPriorityList, INT cFormats)
Definition: clipboard.c:823
DWORD_PTR NTAPI NtUserCallOneParam(DWORD_PTR Param, DWORD Routine)
Definition: simplecall.c:145
WNDPROC pfnDialogWndProc
Definition: ntuser.h:776
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:3145
ULONG yItem
Definition: ntuser.h:356
struct _WND * spwndNotify
Definition: ntuser.h:399
HBRUSH NTAPI NtUserGetControlBrush(HWND hwnd, HDC hdc, UINT ctlType)
Definition: misc.c:182
BOOL TimeToHide
Definition: ntuser.h:412
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:1140
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:147
uint32_t * LPUINT
Definition: typedefs.h:59
struct _CURICON_OBJECT * spcur
Definition: ntuser.h:560
ULONG fHierarchyDropped
Definition: ntuser.h:422
struct _SBWND SBWND
BOOL NTAPI NtUserFillWindow(HWND hWndPaint, HWND hWndPaint1, HDC hDC, HBRUSH hBrush)
Definition: painting.c:1702
USHORT dmLogPixels
Definition: ntuser.h:999
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:420
DWORD dwExpWinVer
Definition: ntuser.h:295
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:312
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:1076
enum _GETCPD * PGETCPD
RECT rcClient
Definition: ntuser.h:687
#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:1104
UINT uFlags
Definition: api.c:59
GLdouble u1
Definition: glext.h:8308
static HDC hdcSrc
Definition: xlate.c:32
HIMC hImc
Definition: ntuser.h:710
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:2377
static HWINEVENTHOOK(WINAPI *pSetWinEventHook)(DWORD
char * LPSTR
Definition: xmlstorage.h:182
struct _CLS * pclsClone
Definition: ntuser.h:552
BOOL NTAPI NtUserSetImeInfoEx(PIMEINFOEX pImeInfoEx)
Definition: ime.c:376
WNDPROC pfnComboListBoxProc
Definition: ntuser.h:775
_CONSOLECONTROL
Definition: ntuser.h:1879
INT WSBflags
Definition: ntuser.h:487
ATOM atomContextHelpIdProp
Definition: ntuser.h:1029
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:1013
MENUINFO CONST * LPCMENUINFO
Definition: winuser.h:3724
struct tagSBINFO * PSBINFO
struct _WND * spwndClipboardListener
Definition: ntuser.h:714
#define MAX_MB_STRINGS
Definition: ntuser.h:916
struct _REGISTER_SYSCLASS REGISTER_SYSCLASS
UNICODE_STRING lpstr
Definition: ntuser.h:366
RTL_ATOM atomClassName
Definition: ntuser.h:542
struct _PROCESSINFO * ppi
Definition: ntuser.h:23
BOOL NTAPI NtUserInvalidateRect(HWND hWnd, CONST RECT *lpRect, BOOL bErase)
Definition: painting.c:2544
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:109
struct _THREADINFO * ptiHooked
Definition: ntuser.h:228
struct _LARGE_ANSI_STRING LARGE_ANSI_STRING
struct tagDPISERVERINFO * PDPISERVERINFO
COLORREF argbSystem[NUM_SYSCOLORS]
Definition: ntuser.h:973
BOOL NTAPI NtUserEnableScrollBar(HWND hWnd, UINT wSBflags, UINT wArrows)
Definition: scrollbar.c:1366
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:559
WPARAM wParam
Definition: combotst.c:138
INT pxTop
Definition: ntuser.h:498
struct _PROCDESKHEAD * PPROCDESKHEAD
UINT NTAPI NtUserSendInput(UINT nInputs, LPINPUT pInput, INT cbSize)
Definition: input.c:707
PIMEUI pimeui
Definition: ntuser.h:1219
_OBI_TYPES
Definition: ntuser.h:934
ATOM atomNVClassName
Definition: ntuser.h:543
struct _SHAREDINFO SHAREDINFO
HFONT hFont
Definition: main.c:53
VOID(CALLBACK * TIMERPROC)(HWND, UINT, UINT_PTR, DWORD)
Definition: winuser.h:2877