ReactOS  0.4.15-dev-3028-g676dc4b
ntuser.h
Go to the documentation of this file.
1 #ifndef __WIN32K_NTUSER_H
2 #define __WIN32K_NTUSER_H
3 
4 struct _PROCESSINFO;
5 struct _THREADINFO;
6 struct _DESKTOP;
7 struct _WND;
8 struct tagPOPUPMENU;
9 #ifndef HIMC
10 typedef HANDLE HIMC;
11 #endif
12 
13 #define FIRST_USER_HANDLE 0x0020 /* first possible value for low word of user handle */
14 #define LAST_USER_HANDLE 0xffef /* last possible value for low word of user handle */
15 
16 #define HANDLEENTRY_DESTROY 1
17 #define HANDLEENTRY_INDESTROY 2
18 
19 typedef struct _USER_HANDLE_ENTRY
20 {
21  void *ptr; /* pointer to object */
22  union
23  {
25  struct _THREADINFO *pti; /* pointer to Win32ThreadInfo */
26  struct _PROCESSINFO *ppi; /* pointer to W32ProcessInfo */
27  };
28  unsigned char type; /* object type (0 if free) */
29  unsigned char flags;
30  unsigned short generation; /* generation counter */
32 
33 typedef struct _USER_HANDLE_TABLE
34 {
40 
41 typedef enum _HANDLE_TYPE
42 {
43  TYPE_FREE = 0,
45  TYPE_MENU = 2,
48  TYPE_HOOK = 5,
59  TYPE_TIMER = 16,
68 
70 {
83 
84 typedef struct _LARGE_UNICODE_STRING
85 {
91 
92 typedef struct _LARGE_STRING
93 {
99 
100 
101 /* Based on ANSI_STRING */
102 typedef struct _LARGE_ANSI_STRING
103 {
109 
110 VOID
111 NTAPI
114  IN PCSZ,
115  IN INT);
116 
117 VOID
118 NTAPI
121  IN PCWSTR,
122  IN INT);
123 
124 BOOL
125 NTAPI
128  PLARGE_STRING);
129 
130 #define NB_HOOKS (WH_MAXHOOK - WH_MINHOOK + 1)
131 
132 typedef struct _DESKTOPINFO
133 {
136  struct _WND *spwnd;
139 
143  struct _WND *spwndShell;
144  struct _WND *spwndBkGnd;
145 
147 
148  union
149  {
151  struct
152  {
154  };
155  };
156 
159 
160 #define CTI_THREADSYSLOCK 0x0001
161 #define CTI_INSENDMESSAGE 0x0002
162 
163 typedef struct _CLIENTTHREADINFO
164 {
170  ULONG timeLastRead; // Last time the message queue was read.
173 
174 typedef struct _HEAD
175 {
178 } HEAD, *PHEAD;
179 
180 typedef struct _THROBJHEAD
181 {
183  struct _THREADINFO *pti;
185 
186 typedef struct _THRDESKHEAD
187 {
189  struct _DESKTOP *rpdesk;
192 
193 typedef struct _PROCDESKHEAD
194 {
197  struct _DESKTOP *rpdesk;
200 
201 typedef struct _PROCMARKHEAD
202 {
205  struct _PROCESSINFO *ppi;
207 
208 #define UserHMGetHandle(obj) ((obj)->head.h)
209 
210 /* Window Client Information structure */
211 struct _ETHREAD;
212 
213 #define WEF_SETBYWNDPTI 0x0001
214 
215 typedef struct tagHOOK
216 {
218  struct tagHOOK *phkNext; /* This is for user space. */
219  int HookId; /* Hook table index */
221  ULONG flags; /* Some internal flags */
224  struct _DESKTOP *rpdesk;
225  /* ReactOS */
226  LIST_ENTRY Chain; /* Hook chain entry */
227  HOOKPROC Proc; /* Hook function */
228  BOOLEAN Ansi; /* Is it an Ansi hook? */
229  UNICODE_STRING ModuleName; /* Module name for global hooks */
230 } HOOK, *PHOOK;
231 
232 typedef struct tagCLIPBOARDDATA
233 {
236  BYTE Data[0];
238 
239 /* THREADINFO Flags */
240 #define TIF_INCLEANUP 0x00000001
241 #define TIF_16BIT 0x00000002
242 #define TIF_SYSTEMTHREAD 0x00000004
243 #define TIF_CSRSSTHREAD 0x00000008
244 #define TIF_TRACKRECTVISIBLE 0x00000010
245 #define TIF_ALLOWFOREGROUNDACTIVATE 0x00000020
246 #define TIF_DONTATTACHQUEUE 0x00000040
247 #define TIF_DONTJOURNALATTACH 0x00000080
248 #define TIF_WOW64 0x00000100
249 #define TIF_INACTIVATEAPPMSG 0x00000200
250 #define TIF_SPINNING 0x00000400
251 #define TIF_PALETTEAWARE 0x00000800
252 #define TIF_SHAREDWOW 0x00001000
253 #define TIF_FIRSTIDLE 0x00002000
254 #define TIF_WAITFORINPUTIDLE 0x00004000
255 #define TIF_MOVESIZETRACKING 0x00008000
256 #define TIF_VDMAPP 0x00010000
257 #define TIF_DOSEMULATOR 0x00020000
258 #define TIF_GLOBALHOOKER 0x00040000
259 #define TIF_DELAYEDEVENT 0x00080000
260 #define TIF_MSGPOSCHANGED 0x00100000
261 #define TIF_SHUTDOWNCOMPLETE 0x00200000
262 #define TIF_IGNOREPLAYBACKDELAY 0x00400000
263 #define TIF_ALLOWOTHERACCOUNTHOOK 0x00800000
264 #define TIF_GUITHREADINITIALIZED 0x02000000
265 #define TIF_DISABLEIME 0x04000000
266 #define TIF_INGETTEXTLENGTH 0x08000000
267 #define TIF_ANSILENGTH 0x10000000
268 #define TIF_DISABLEHOOKS 0x20000000
269 
270 typedef struct _CALLBACKWND
271 {
273  struct _WND *pWnd;
276 
277 #define CI_TRANSACTION 0x00000001
278 #define CI_QUEUEMSG 0x00000002
279 #define CI_WOW 0x00000004
280 #define CI_INITTHREAD 0x00000008
281 #define CI_CURTHPRHOOK 0x00000010
282 #define CI_CLASSESREGISTERED 0x00000020
283 #define CI_IMMACTIVATE 0x00000040
284 #define CI_TFSDISABLED 0x00000400
285 
286 typedef struct _CLIENTINFO
287 {
293  DWORD dwTIFlags; /* ThreadInfo TIF_Xxx flags for User space. */
314 /* It's just a pointer reference not to be used w the structure in user space. */
315  struct _PROCESSINFO *ppi;
317 
318 /* Make sure it fits into the TEB */
319 C_ASSERT(sizeof(CLIENTINFO) <= sizeof(((PTEB)0)->Win32ClientInfo));
320 
321 #define GetWin32ClientInfo() ((PCLIENTINFO)(NtCurrentTeb()->Win32ClientInfo))
322 
323 typedef struct tagDDEPACK
324 {
327 } DDEPACK, *PDDEPACK;
328 
329 #define HRGN_NULL ((HRGN)0) /* NULL empty region */
330 #define HRGN_WINDOW ((HRGN)1) /* region from window rcWindow */
331 #define HRGN_MONITOR ((HRGN)2) /* region from monitor region. */
332 
333 /* Menu Item fType. */
334 #define MFT_RTOL 0x6000
335 
336 /* Menu Item fState. */
337 #define MFS_HBMMENUBMP 0x20000000
338 
339 typedef struct tagITEM
340 {
344  struct tagMENU *spSubMenu; /* Pop-up menu. */
347  USHORT *Xlpstr; /* Item text pointer. */
350  ULONG xItem; /* Item position. left */
351  ULONG yItem; /* " top */
352  ULONG cxItem; /* Item Size Width */
353  ULONG cyItem; /* " Height */
354  ULONG dxTab; /* X position of text after Tab */
355  ULONG ulX; /* underline.. start position */
356  ULONG ulWidth; /* underline.. width */
357  HBITMAP hbmp; /* bitmap */
358  INT cxBmp; /* Width Maximum size of the bitmap items in MIIM_BITMAP state */
359  INT cyBmp; /* Height " */
360  /* ReactOS */
362 } ITEM, *PITEM;
363 
364 typedef struct tagMENULIST
365 {
367  struct tagMENU *pMenu;
368 } MENULIST, *PMENULIST;
369 
370 /* Menu fFlags, upper byte is MNS_X style flags. */
371 #define MNF_POPUP 0x0001
372 #define MNF_UNDERLINE 0x0004
373 #define MNF_INACTIVE 0x0010
374 #define MNF_RTOL 0x0020
375 #define MNF_DESKTOPMN 0x0040
376 #define MNF_SYSDESKMN 0x0080
377 #define MNF_SYSSUBMENU 0x0100
378 /* Hack */
379 #define MNF_SYSMENU 0x0200
380 
381 /* (other FocusedItem values give the position of the focused item) */
382 #define NO_SELECTED_ITEM 0xffff
383 
384 typedef struct tagMENU
385 {
387  ULONG fFlags; /* [Style flags | Menu flags] */
388  INT iItem; /* nPos of selected item, if -1 not selected. AKA focused item */
389  UINT cAlloced; /* Number of allocated items. Inc's of 8 */
390  UINT cItems; /* Number of items in the menu */
391  ULONG cxMenu; /* Width of the whole menu */
392  ULONG cyMenu; /* Height of the whole menu */
393  ULONG cxTextAlign; /* Offset of text when items have both bitmaps and text */
394  struct _WND *spwndNotify; /* window receiving the messages for ownerdraw */
395  PITEM rgItems; /* Array of menu items */
396  struct tagMENULIST *pParentMenus; /* If this is SubMenu, list of parents. */
398  ULONG cyMax; /* max height of the whole menu, 0 is screen height */
399  DWORD_PTR dwMenuData; /* application defined value */
400  HBRUSH hbrBack; /* brush for menu background */
401  INT iTop; /* Current scroll position Top */
402  INT iMaxTop; /* Current scroll position Max Top */
403  DWORD dwArrowsOn:2; /* Arrows: 0 off, 1 on, 2 to the top, 3 to the bottom. */
404  /* ReactOS */
406  HWND hWnd; /* Window containing the menu, use POPUPMENU */
408 } MENU, *PMENU;
409 
410 typedef struct tagPOPUPMENU
411 {
435  // ULONG fDesktopMenu:1;
438  struct _WND *spwndNotify;
450 
451 typedef struct _REGISTER_SYSCLASS
452 {
453  /* This is a reactos specific class used to initialize the
454  system window classes during user32 initialization */
460  HBRUSH hBrush;
464 
465 typedef struct _CLSMENUNAME
466 {
471 
472 typedef struct tagSBDATA
473 {
478 } SBDATA, *PSBDATA;
479 
480 typedef struct tagSBINFO
481 {
485 } SBINFO, *PSBINFO;
486 
487 typedef struct tagSBCALC
488 {
505 } SBCALC, *PSBCALC;
506 
507 typedef enum _GETCPD
508 {
509  UserGetCPDA2U = 0x01, /* " Unicode " */
510  UserGetCPDU2A = 0X02, /* " Ansi " */
515 } GETCPD, *PGETCPD;
516 
517 typedef struct _CALLPROCDATA
518 {
524 
525 #define CSF_SERVERSIDEPROC 0x0001
526 #define CSF_ANSIPROC 0x0002
527 #define CSF_WOWDEFERDESTROY 0x0004
528 #define CSF_SYSTEMCLASS 0x0008
529 #define CSF_WOWCLASS 0x0010
530 #define CSF_WOWEXTRA 0x0020
531 #define CSF_CACHEDSMICON 0x0040
532 #define CSF_WIN40COMPAT 0x0080
533 
534 typedef struct _CLS
535 {
536  struct _CLS *pclsNext;
543  PSTR lpszClientAnsiMenuName; /* For client use */
546  struct _CLS *pclsBase;
547  struct _CLS *pclsClone;
557  PWSTR lpszMenuName; /* kernel use */
561  UINT Unicode:1; // !CSF_ANSIPROC
562  UINT Global:1; // CS_GLOBALCLASS or CSF_SERVERSIDEPROC
565 } CLS, *PCLS;
566 
567 typedef struct _SBINFOEX
568 {
571 } SBINFOEX, *PSBINFOEX;
572 
573 /* State Flags !Not Implemented! */
574 #define WNDS_HASMENU 0X00000001
575 #define WNDS_HASVERTICALSCROOLLBAR 0X00000002
576 #define WNDS_HASHORIZONTALSCROLLBAR 0X00000004
577 #define WNDS_HASCAPTION 0X00000008
578 #define WNDS_SENDSIZEMOVEMSGS 0X00000010
579 #define WNDS_MSGBOX 0X00000020
580 #define WNDS_ACTIVEFRAME 0X00000040
581 #define WNDS_HASSPB 0X00000080
582 #define WNDS_NONCPAINT 0X00000100
583 #define WNDS_SENDERASEBACKGROUND 0X00000200
584 #define WNDS_ERASEBACKGROUND 0X00000400
585 #define WNDS_SENDNCPAINT 0X00000800
586 #define WNDS_INTERNALPAINT 0X00001000
587 #define WNDS_UPDATEDIRTY 0X00002000
588 #define WNDS_HIDDENPOPUP 0X00004000
589 #define WNDS_FORCEMENUDRAW 0X00008000
590 #define WNDS_DIALOGWINDOW 0X00010000
591 #define WNDS_HASCREATESTRUCTNAME 0X00020000
592 #define WNDS_SERVERSIDEWINDOWPROC 0x00040000 /* Call proc inside win32k. */
593 #define WNDS_ANSIWINDOWPROC 0x00080000
594 #define WNDS_BEINGACTIVATED 0x00100000
595 #define WNDS_HASPALETTE 0x00200000
596 #define WNDS_PAINTNOTPROCESSED 0x00400000
597 #define WNDS_SYNCPAINTPENDING 0x00800000
598 #define WNDS_RECEIVEDQUERYSUSPENDMSG 0x01000000
599 #define WNDS_RECEIVEDSUSPENDMSG 0x02000000
600 #define WNDS_TOGGLETOPMOST 0x04000000
601 #define WNDS_REDRAWIFHUNG 0x08000000
602 #define WNDS_REDRAWFRAMEIFHUNG 0x10000000
603 #define WNDS_ANSICREATOR 0x20000000
604 #define WNDS_MAXIMIZESTOMONITOR 0x40000000
605 #define WNDS_DESTROYED 0x80000000
606 
607 #define WNDSACTIVEFRAME 0x00000006
608 
609 /* State2 Flags !Not Implemented! */
610 #define WNDS2_WMPAINTSENT 0X00000001
611 #define WNDS2_ENDPAINTINVALIDATE 0X00000002
612 #define WNDS2_STARTPAINT 0X00000004
613 #define WNDS2_OLDUI 0X00000008
614 #define WNDS2_HASCLIENTEDGE 0X00000010
615 #define WNDS2_BOTTOMMOST 0X00000020
616 #define WNDS2_FULLSCREEN 0X00000040
617 #define WNDS2_INDESTROY 0X00000080
618 #define WNDS2_WIN31COMPAT 0X00000100
619 #define WNDS2_WIN40COMPAT 0X00000200
620 #define WNDS2_WIN50COMPAT 0X00000400
621 #define WNDS2_MAXIMIZEDMONITORREGION 0X00000800
622 #define WNDS2_CLOSEBUTTONDOWN 0X00001000
623 #define WNDS2_MAXIMIZEBUTTONDOWN 0X00002000
624 #define WNDS2_MINIMIZEBUTTONDOWN 0X00004000
625 #define WNDS2_HELPBUTTONDOWN 0X00008000
626 #define WNDS2_SCROLLBARLINEUPBTNDOWN 0X00010000
627 #define WNDS2_SCROLLBARPAGEUPBTNDOWN 0X00020000
628 #define WNDS2_SCROLLBARPAGEDOWNBTNDOWN 0X00040000
629 #define WNDS2_SCROLLBARLINEDOWNBTNDOWN 0X00080000
630 #define WNDS2_ANYSCROLLBUTTONDOWN 0X00100000
631 #define WNDS2_SCROLLBARVERTICALTRACKING 0X00200000
632 #define WNDS2_FORCENCPAINT 0X00400000
633 #define WNDS2_FORCEFULLNCPAINTCLIPRGN 0X00800000
634 #define WNDS2_FULLSCREENMODE 0X01000000
635 #define WNDS2_CAPTIONTEXTTRUNCATED 0X08000000
636 #define WNDS2_NOMINMAXANIMATERECTS 0X10000000
637 #define WNDS2_SMALLICONFROMWMQUERYDRAG 0X20000000
638 #define WNDS2_SHELLHOOKREGISTERED 0X40000000
639 #define WNDS2_WMCREATEMSGPROCESSED 0X80000000
640 
641 /* ExStyles2 */
642 #define WS_EX2_CLIPBOARDLISTENER 0X00000001
643 #define WS_EX2_LAYEREDINVALIDATE 0X00000002
644 #define WS_EX2_REDIRECTEDFORPRINT 0X00000004
645 #define WS_EX2_LINKED 0X00000008
646 #define WS_EX2_LAYEREDFORDWM 0X00000010
647 #define WS_EX2_LAYEREDLIMBO 0X00000020
648 #define WS_EX2_HIGHTDPI_UNAWAR 0X00000040
649 #define WS_EX2_VERTICALLYMAXIMIZEDLEFT 0X00000080
650 #define WS_EX2_VERTICALLYMAXIMIZEDRIGHT 0X00000100
651 #define WS_EX2_HASOVERLAY 0X00000200
652 #define WS_EX2_CONSOLEWINDOW 0X00000400
653 #define WS_EX2_CHILDNOACTIVATE 0X00000800
654 
655 #define WPF_MININIT 0x0008
656 #define WPF_MAXINIT 0x0010
657 
658 typedef struct _WND
659 {
661 #if 0
662  WW ww;
663 #else
664  /* These fields should be moved in the WW at some point. */
665  /* Plese do not change them to keep the same layout with WW. */
668  /* Extended style. */
670  /* Style. */
672  /* Handle of the module that created the window. */
675 #endif
676  struct _WND *spwndNext;
677  struct _WND *spwndPrev;
678  struct _WND *spwndParent;
679  struct _WND *spwndChild;
680  struct _WND *spwndOwner;
684  /* Pointer to the window class. */
687  /* Property list head.*/
690  /* Scrollbar info */
692  /* system menu handle. */
694  //PMENU spmenuSys;
695  /* Window menu handle or window id */
696  UINT_PTR IDMenu; // Use spmenu
697  //PMENU spmenu;
698  HRGN hrgnClip;
700  /* Window name. */
702  /* Size of the extra data associated with the window. */
705  HIMC hImc; // Input context associated with this window.
708  //PD3DMATRIX pTransForm;
711 
712  /* ReactOS */
713  struct
714  {
718  UINT flags; /* WPF_ flags. */
719  } InternalPos;
720 
721  UINT Unicode:1; /* !(WNDS_ANSICREATOR|WNDS_ANSIWINDOWPROC) ? */
723  UINT HideFocus:1; /* WS_EX_UISTATEFOCUSRECTHIDDEN ? */
724  UINT HideAccel:1; /* WS_EX_UISTATEKBACCELHIDDEN ? */
725 
726  /* Scrollbar info */
727  PSBINFOEX pSBInfoex; // convert to PSBINFO
728  /* Entry in the list of thread windows. */
730 
732 } WND, *PWND;
733 
734 #define PWND_BOTTOM ((PWND)1)
735 
736 typedef struct _SBWND
737 {
742 } SBWND, *PSBWND;
743 
744 typedef struct _MDIWND
745 {
749 } MDIWND, *PMDIWND;
750 
751 #define GWLP_MDIWND 4
752 
753 typedef struct _MENUWND
754 {
757 } MENUWND, *PMENUWND;
758 
759 typedef struct _PFNCLIENT
760 {
785 
786 /*
787  Wine Common proc ( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam, BOOL Unicode );
788  Windows uses Ansi == TRUE, Wine uses Unicode == TRUE.
789  */
790 
791 typedef LRESULT
793  HWND,
794  UINT,
795  WPARAM,
796  LPARAM,
797  BOOL);
798 
799 typedef struct _PFNCLIENTWORKER
800 {
813 
814 typedef LONG_PTR
816  PWND,
817  UINT,
818  WPARAM,
819  LPARAM,
820  ULONG_PTR);
821 
822 /* FNID's for NtUserSetWindowFNID, NtUserMessageCall */
823 #define FNID_FIRST 0x029A
824 #define FNID_SCROLLBAR 0x029A
825 #define FNID_ICONTITLE 0x029B
826 #define FNID_MENU 0x029C
827 #define FNID_DESKTOP 0x029D
828 #define FNID_DEFWINDOWPROC 0x029E
829 #define FNID_MESSAGEWND 0x029F
830 #define FNID_SWITCH 0x02A0
831 #define FNID_BUTTON 0x02A1
832 #define FNID_COMBOBOX 0x02A2
833 #define FNID_COMBOLBOX 0x02A3
834 #define FNID_DIALOG 0x02A4
835 #define FNID_EDIT 0x02A5
836 #define FNID_LISTBOX 0x02A6
837 #define FNID_MDICLIENT 0x02A7
838 #define FNID_STATIC 0x02A8
839 #define FNID_IME 0x02A9
840 #define FNID_GHOST 0x02AA
841 #define FNID_CALLWNDPROC 0x02AB
842 #define FNID_CALLWNDPROCRET 0x02AC
843 #define FNID_HKINLPCWPEXSTRUCT 0x02AD
844 #define FNID_HKINLPCWPRETEXSTRUCT 0x02AE
845 #define FNID_MB_DLGPROC 0x02AF
846 #define FNID_MDIACTIVATEDLGPROC 0x02B0
847 #define FNID_SENDMESSAGE 0x02B1
848 #define FNID_SENDMESSAGEFF 0x02B2
849 /* Kernel has option to use TimeOut or normal msg send, based on type of msg. */
850 #define FNID_SENDMESSAGEWTOOPTION 0x02B3
851 #define FNID_SENDMESSAGECALLPROC 0x02B4
852 #define FNID_BROADCASTSYSTEMMESSAGE 0x02B5
853 #define FNID_TOOLTIPS 0x02B6
854 #define FNID_SENDNOTIFYMESSAGE 0x02B7
855 #define FNID_SENDMESSAGECALLBACK 0x02B8
856 #define FNID_LAST 0x02B9
857 
858 #define FNID_NUM FNID_LAST - FNID_FIRST + 1
859 #define FNID_NUMSERVERPROC FNID_SWITCH - FNID_FIRST + 1
860 
861 #define FNID_DDEML 0x2000 /* Registers DDEML */
862 #define FNID_DESTROY 0x4000 /* This is sent when WM_NCDESTROY or in the support routine. */
863  /* Seen during WM_CREATE on error exit too. */
864 #define FNID_FREED 0x8000 /* Window being Freed... */
865 
866 #define ICLASS_TO_MASK(iCls) (1 << ((iCls)))
867 
868 #define GETPFNCLIENTA(fnid) \
869  (WNDPROC)(*(((ULONG_PTR *)&gpsi->apfnClientA) + (fnid - FNID_FIRST)))
870 #define GETPFNCLIENTW(fnid) \
871  (WNDPROC)(*(((ULONG_PTR *)&gpsi->apfnClientW) + (fnid - FNID_FIRST)))
872 
873 #define GETPFNSERVER(fnid) gpsi->aStoCidPfn[fnid - FNID_FIRST]
874 
875 /* ICLS's for NtUserGetClassName FNID to ICLS, NtUserInitializeClientPfnArrays */
876 #define ICLS_BUTTON 0
877 #define ICLS_EDIT 1
878 #define ICLS_STATIC 2
879 #define ICLS_LISTBOX 3
880 #define ICLS_SCROLLBAR 4
881 #define ICLS_COMBOBOX 5
882 #define ICLS_MDICLIENT 6
883 #define ICLS_COMBOLBOX 7
884 #define ICLS_DDEMLEVENT 8
885 #define ICLS_DDEMLMOTHER 9
886 #define ICLS_DDEML16BIT 10
887 #define ICLS_DDEMLCLIENTA 11
888 #define ICLS_DDEMLCLIENTW 12
889 #define ICLS_DDEMLSERVERA 13
890 #define ICLS_DDEMLSERVERW 14
891 #define ICLS_IME 15
892 #define ICLS_GHOST 16
893 #define ICLS_DESKTOP 17
894 #define ICLS_DIALOG 18
895 #define ICLS_MENU 19
896 #define ICLS_SWITCH 20
897 #define ICLS_ICONTITLE 21
898 #define ICLS_TOOLTIPS 22
899 #if (_WIN32_WINNT <= 0x0501)
900 #define ICLS_UNKNOWN 22
901 #define ICLS_NOTUSED 23
902 #else
903 #define ICLS_SYSSHADOW 23
904 #define ICLS_HWNDMESSAGE 24
905 #define ICLS_NOTUSED 25
906 #endif
907 #define ICLS_END 31
908 
909 #define COLOR_LAST COLOR_MENUBAR
910 #define MAX_MB_STRINGS 11
911 
912 #define SRVINFO_DBCSENABLED 0x0002
913 #define SRVINFO_IMM32 0x0004
914 #define SRVINFO_APIHOOK 0x0010
915 #define SRVINFO_CICERO_ENABLED 0x0020
916 #define SRVINFO_KBDPREF 0x0080
917 
918 #define NUM_SYSCOLORS 31
919 
920 typedef struct tagOEMBITMAPINFO
921 {
927 
928 typedef enum _OBI_TYPES
929 {
937 } OBI_TYPES;
938 
939 typedef struct tagMBSTRING
940 {
944 } MBSTRING, *PMBSTRING;
945 
946 typedef struct tagDPISERVERINFO
947 {
948  INT gclBorder; /* 000 */
949  HFONT hCaptionFont; /* 004 */
950  HFONT hMsgFont; /* 008 */
951  INT cxMsgFontChar; /* 00C */
952  INT cyMsgFontChar; /* 010 */
953  UINT wMaxBtnSize; /* 014 */
955 
956 /* PUSIFlags: */
957 #define PUSIF_PALETTEDISPLAY 0x01
958 #define PUSIF_SNAPTO 0x02
959 #define PUSIF_COMBOBOXANIMATION 0x04
960 #define PUSIF_LISTBOXSMOOTHSCROLLING 0x08
961 #define PUSIF_KEYBOARDCUES 0x20
962 
963 typedef struct _PERUSERSERVERINFO
964 {
969  HBRUSH hbrGray;
1004 
1005 typedef struct tagSERVERINFO
1006 {
1030 
1031 #ifdef _M_IX86
1032 C_ASSERT(sizeof(SERVERINFO) <= PAGE_SIZE);
1033 #endif
1034 
1035 
1036 /* Server event activity bits. */
1037 #define SRV_EVENT_MENU 0x0001
1038 #define SRV_EVENT_END_APPLICATION 0x0002
1039 #define SRV_EVENT_RUNNING 0x0004
1040 #define SRV_EVENT_NAMECHANGE 0x0008
1041 #define SRV_EVENT_VALUECHANGE 0x0010
1042 #define SRV_EVENT_STATECHANGE 0x0020
1043 #define SRV_EVENT_LOCATIONCHANGE 0x0040
1044 #define SRV_EVENT_CREATE 0x8000
1045 
1046 typedef struct _PROPLISTITEM
1047 {
1051 
1052 #define PROPERTY_FLAG_SYSTEM 1
1053 
1054 typedef struct _PROPERTY
1055 {
1060 } PROPERTY, *PPROPERTY;
1061 
1062 typedef struct _BROADCASTPARM
1063 {
1066  HDESK hDesk;
1070 
1073 
1074 typedef struct _WNDMSG
1075 {
1078 } WNDMSG, *PWNDMSG;
1079 
1080 typedef struct _SHAREDINFO
1081 {
1082  PSERVERINFO psi; /* global Server Info */
1083  PVOID aheList; /* Handle Entry List */
1084  PVOID pDispInfo; /* global PDISPLAYINFO pointer */
1085  ULONG_PTR ulSharedDelta; /* Heap delta */
1090 
1091 /* See also the USERSRV_API_CONNECTINFO #define in include/reactos/subsys/win/winmsg.h */
1092 typedef struct _USERCONNECT
1093 {
1099 
1100 /* WinNT 5.0 compatible user32 / win32k */
1101 #define USER_VERSION MAKELONG(0x0000, 0x0005)
1102 
1103 #if defined(_M_IX86)
1104 C_ASSERT(sizeof(USERCONNECT) == 0x124);
1105 #endif
1106 
1107 typedef struct tagGETCLIPBDATA
1108 {
1111  union
1112  {
1115  };
1117 
1118 typedef struct tagSETCLIPBDATA
1119 {
1123 
1124 /* Used with NtUserSetCursorIconData, last parameter. */
1125 typedef struct tagCURSORDATA
1126 {
1138  HBITMAP hbmUserAlpha; /* Could be in W7U, not in W2k */
1148 } CURSORDATA, *PCURSORDATA; /* !dso CURSORDATA */
1149 
1150 /* CURSORF_flags: */
1151 #define CURSORF_FROMRESOURCE 0x0001
1152 #define CURSORF_GLOBAL 0x0002
1153 #define CURSORF_LRSHARED 0x0004
1154 #define CURSORF_ACON 0x0008
1155 #define CURSORF_WOWCLEANUP 0x0010
1156 #define CURSORF_ACONFRAME 0x0040
1157 #define CURSORF_SECRET 0x0080
1158 #define CURSORF_LINKED 0x0100
1159 #define CURSORF_CURRENT 0x0200
1160 
1161 typedef struct tagIMEINFOEX
1162 {
1173  struct
1174  {
1177  };
1178 } IMEINFOEX, *PIMEINFOEX;
1179 
1180 typedef enum IMEINFOEXCLASS
1181 {
1185 } IMEINFOEXCLASS;
1186 
1187 #define IS_IME_HKL(hkl) ((((ULONG_PTR)(hkl)) & 0xF0000000) == 0xE0000000)
1188 
1189 typedef struct tagIMEUI
1190 {
1197  struct {
1205  };
1206 } IMEUI, *PIMEUI;
1207 
1208 /* Window Extra data container. */
1209 typedef struct _IMEWND
1210 {
1213 } IMEWND, *PIMEWND;
1214 
1215 #define DEFINE_IME_ENTRY(type, name, params, extended) typedef type (WINAPI *FN_##name) params;
1216 #include "imetable.h"
1217 #undef DEFINE_IME_ENTRY
1218 
1219 typedef struct IMEDPI
1220 {
1221  struct IMEDPI *pNext;
1229 #define DEFINE_IME_ENTRY(type, name, params, extended) FN_##name name;
1230 #include "imetable.h"
1231 #undef DEFINE_IME_ENTRY
1232 } IMEDPI, *PIMEDPI;
1233 
1234 #ifndef _WIN64
1236 C_ASSERT(offsetof(IMEDPI, hInst) == 0x4);
1237 C_ASSERT(offsetof(IMEDPI, hKL) == 0x8);
1238 C_ASSERT(offsetof(IMEDPI, ImeInfo) == 0xc);
1239 C_ASSERT(offsetof(IMEDPI, uCodePage) == 0x28);
1240 C_ASSERT(offsetof(IMEDPI, szUIClass) == 0x2c);
1241 C_ASSERT(offsetof(IMEDPI, cLockObj) == 0x4c);
1242 C_ASSERT(offsetof(IMEDPI, dwFlags) == 0x50);
1243 C_ASSERT(offsetof(IMEDPI, ImeInquire) == 0x54);
1250 C_ASSERT(offsetof(IMEDPI, ImeDestroy) == 0x70);
1251 C_ASSERT(offsetof(IMEDPI, ImeEscape) == 0x74);
1252 C_ASSERT(offsetof(IMEDPI, ImeSelect) == 0x78);
1256 C_ASSERT(offsetof(IMEDPI, NotifyIME) == 0x88);
1259 C_ASSERT(offsetof(IMEDPI, CtfImeInquireExW) == 0x94);
1260 C_ASSERT(offsetof(IMEDPI, CtfImeSelectEx) == 0x98);
1261 C_ASSERT(offsetof(IMEDPI, CtfImeEscapeEx) == 0x9c);
1262 C_ASSERT(offsetof(IMEDPI, CtfImeGetGuidAtom) == 0xa0);
1263 C_ASSERT(offsetof(IMEDPI, CtfImeIsGuidMapEnable) == 0xa4);
1264 C_ASSERT(sizeof(IMEDPI) == 0xa8);
1265 #endif
1266 
1267 /* flags for IMEDPI.dwFlags */
1268 #define IMEDPI_FLAG_UNKNOWN 0x1
1269 #define IMEDPI_FLAG_LOCKED 0x2
1270 
1271 /* unconfirmed */
1272 typedef struct tagCLIENTIMC
1273 {
1282 } CLIENTIMC, *PCLIENTIMC;
1283 
1284 #ifndef _WIN64
1285 C_ASSERT(offsetof(CLIENTIMC, hImc) == 0x0);
1286 C_ASSERT(offsetof(CLIENTIMC, cLockObj) == 0x4);
1288 C_ASSERT(offsetof(CLIENTIMC, cs) == 0x10);
1289 C_ASSERT(offsetof(CLIENTIMC, hKL) == 0x2c);
1290 C_ASSERT(sizeof(CLIENTIMC) == 0x34);
1291 #endif
1292 
1293 /* flags for CLIENTIMC */
1294 #define CLIENTIMC_WIDE 0x1
1295 #define CLIENTIMC_UNKNOWN1 0x40
1296 #define CLIENTIMC_UNKNOWN2 0x100
1297 
1298 DWORD
1299 NTAPI
1301  DWORD dwUnknown1,
1302  DWORD dwUnknown2,
1303  DWORD dwUnknown3);
1304 
1305 NTSTATUS
1306 NTAPI
1307 NtUserBuildHimcList(DWORD dwThreadId, DWORD dwCount, HIMC *phList, LPDWORD pdwCount);
1308 
1309 DWORD
1310 NTAPI
1312  HWND hwnd,
1313  DWORD x,
1314  DWORD width,
1315  DWORD y,
1316  LPRECT prc);
1317 
1318 DWORD
1319 NTAPI
1321  HMENU hmenu,
1322  UINT uIDCheckItem,
1323  UINT uCheck);
1324 
1325 DWORD
1326 NTAPI
1328  DWORD dwUnknown1,
1329  DWORD dwUnknown2,
1330  DWORD dwUnknown3);
1331 
1332 DWORD
1333 APIENTRY
1335  DWORD Unknown0,
1336  DWORD Unknown1);
1337 
1338 DWORD
1339 APIENTRY
1341  DWORD Unknown0,
1342  DWORD Unknown1);
1343 
1344 BOOL
1345 NTAPI
1347  HMENU hMenu,
1348  UINT uPosition,
1349  UINT uFlags);
1350 
1351 BOOL
1352 NTAPI
1354  HMENU hMenu);
1355 
1356 DWORD
1357 NTAPI
1359  HWND hWnd,
1360  HDC hDC,
1361  PRECT hRect,
1362  HMENU hMenu,
1363  HFONT hFont);
1364 
1365 UINT
1366 NTAPI
1368  HMENU hMenu,
1369  UINT uIDEnableItem,
1370  UINT uEnable);
1371 
1372 BOOL
1373 NTAPI
1375 
1376 BOOL
1377 NTAPI
1379  HWND hwnd,
1380  LONG idObject,
1381  LONG idItem,
1382  PMENUBARINFO pmbi);
1383 
1384 UINT
1385 NTAPI
1387  HMENU hMenu,
1388  HMENU hSubMenu);
1389 
1390 BOOL
1391 NTAPI
1393  HWND hWnd,
1394  HMENU hMenu,
1395  UINT uItem,
1396  LPRECT lprcItem);
1397 
1398 HMENU
1399 NTAPI
1401  HWND hWnd,
1402  BOOL bRevert);
1403 
1404 BOOL
1405 NTAPI
1407  HWND hWnd,
1408  HMENU hMenu,
1409  UINT uItemHilite,
1410  UINT uHilite);
1411 
1412 int
1413 NTAPI
1415  HWND hWnd,
1416  HMENU hMenu,
1417  DWORD X,
1418  DWORD Y);
1419 
1420 BOOL
1421 NTAPI
1423  HMENU hMenu,
1424  UINT uPosition,
1425  UINT uFlags);
1426 
1427 BOOL
1428 NTAPI
1430  HWND hWnd,
1431  HMENU hMenu,
1432  BOOL bRepaint);
1433 
1434 BOOL
1435 NTAPI
1437  HMENU hmenu,
1438  DWORD dwContextHelpId);
1439 
1440 BOOL
1441 NTAPI
1443  HMENU hMenu,
1444  UINT uItem,
1445  UINT fByPos);
1446 
1447 BOOL
1448 NTAPI
1450  HMENU hMenu);
1451 
1452 BOOL
1453 NTAPI
1455  HWND hWnd,
1456  HMENU hMenu);
1457 
1458 BOOL
1459 NTAPI
1461  HMENU hMenu,
1462  LPCMENUINFO lpcmi);
1463 
1464 BOOL
1465 NTAPI
1467  HMENU hMenu,
1468  UINT uItem,
1469  BOOL fByPosition,
1470  BOOL bInsert,
1471  LPMENUITEMINFOW lpmii,
1472  PUNICODE_STRING lpszCaption);
1473 
1474 BOOL
1475 NTAPI
1477  HMENU hmenu,
1478  UINT fuFlags,
1479  int x,
1480  int y,
1481  HWND hwnd,
1482  LPTPMPARAMS lptpm);
1483 
1484 HKL
1485 NTAPI
1487  HKL hKl,
1488  ULONG Flags);
1489 
1490 DWORD
1491 NTAPI
1493  HWND hWnd,
1494  DWORD Index,
1495  LONG NewValue);
1496 
1497 BOOL
1498 NTAPI
1500  IN DWORD idAttach,
1501  IN DWORD idAttachTo,
1502  IN BOOL fAttach);
1503 
1504 HDC NTAPI
1506  HWND hWnd,
1507  PAINTSTRUCT *lPs);
1508 
1509 BOOL
1510 NTAPI
1512  HDC hdc,
1513  INT nXDest,
1514  INT nYDest,
1515  INT nWidth,
1516  INT nHeight,
1517  INT nXSrc,
1518  INT nYSrc,
1519  DWORD dwRop);
1520 
1521 BOOL
1522 NTAPI
1524  BOOL BlockIt);
1525 
1526 NTSTATUS
1527 NTAPI
1529  HDESK hDesktop,
1530  HWND hwndParent,
1531  BOOLEAN bChildren,
1532  ULONG dwThreadId,
1533  ULONG lParam,
1534  HWND *pWnd,
1535  ULONG *pBufSize);
1536 
1537 NTSTATUS
1538 NTAPI
1540  HWINSTA hWinSta,
1541  ULONG dwSize,
1542  PVOID lpBuffer,
1543  PULONG pRequiredSize);
1544 
1545 NTSTATUS
1546 NTAPI
1548  HWND hWnd,
1549  LPVOID Buffer,
1550  DWORD BufferSize,
1551  DWORD *Count);
1552 
1553 /* apfnSimpleCall indices from Windows XP SP 2 */
1554 /* TODO: Check for differences in Windows 2000, 2003 and 2008 */
1555 #define WIN32K_VERSION NTDDI_WINXPSP2 /* FIXME: this should go somewhere else */
1556 
1558 {
1561 #if (WIN32K_VERSION >= NTDDI_VISTA)
1566 #endif
1568 #if (WIN32K_VERSION < NTDDI_VISTA)
1572 #endif
1577 #if (WIN32K_VERSION >= NTDDI_VISTA)
1579 #else
1580  NOPARAM_ROUTINE_GETREMOTEPROCESSID,
1581 #endif
1584 #if (WIN32K_VERSION >= NTDDI_VISTA)
1587 #endif
1602 #if (WIN32K_VERSION >= NTDDI_VISTA)
1604 #endif
1607 #if (WIN32K_VERSION < NTDDI_VISTA)
1609 #endif
1611 #if (WIN32K_VERSION >= NTDDI_VISTA)
1613 #endif
1617 #if (WIN32K_VERSION < NTDDI_VISTA)
1618  ONEPARAM_ROUTINE_CREATESYSTEMTHREADS,
1619 #endif
1623 #if (WIN32K_VERSION < NTDDI_VISTA)
1624  ONEPARAM_ROUTINE_GETCURSORPOS,
1625 #endif
1632 #if (WIN32K_VERSION < NTDDI_VISTA)
1633  ONEPARAM_ROUTINE_HANDLESYSTHRDCREATFAIL,
1634 #endif
1641 #if (WIN32K_VERSION < NTDDI_VISTA)
1642  ONEPARAM_ROUTINE_PREPAREFORLOGOFF,
1643 #endif
1646 #if (WIN32K_VERSION >= NTDDI_VISTA)
1648 #endif
1652 #if (WIN32K_VERSION >= NTDDI_VISTA)
1654 #endif
1658 #if (WIN32K_VERSION < NTDDI_VISTA)
1659  ONEPARAM_ROUTINE_SETIMESHOWSTATUS,
1660 #endif
1663 #if (WIN32K_VERSION >= NTDDI_VISTA)
1665 #endif
1670 #if (WIN32K_VERSION < NTDDI_VISTA)
1671  X_ROUTINE_REMOTENOTIFY,
1672 #endif
1687  HWNDLOCK_ROUTINE_WINDOWHASSHADOW, /* correct prefix ? */
1706 #if (WIN32K_VERSION >= NTDDI_VISTA)
1709 #endif
1713 #if (WIN32K_VERSION >= NTDDI_VISTA)
1715 #endif
1717 #if (WIN32K_VERSION >= NTDDI_VISTA)
1719 #else
1720  TWOPARAM_ROUTINE_REGISTERSYSTEMTHREAD,
1721 #endif
1727 #if (WIN32K_VERSION >= NTDDI_VISTA)
1729 #endif
1732 };
1733 
1734 DWORD
1735 NTAPI
1737  HWND hWnd,
1738  DWORD Routine);
1739 
1740 BOOL
1741 NTAPI
1743  HWND hWnd,
1744  DWORD Routine);
1745 
1746 HWND
1747 NTAPI
1749  HWND hWnd,
1750  DWORD Routine);
1751 
1752 DWORD
1753 NTAPI
1755  HWND hWnd,
1756  DWORD_PTR Param,
1757  DWORD Routine);
1758 
1759 DWORD
1760 NTAPI
1762  HWND hWnd,
1763  DWORD_PTR Param,
1764  DWORD Routine);
1765 
1766 BOOL
1767 NTAPI
1769  LPMSG msg,
1770  INT code);
1771 
1772 LRESULT
1773 NTAPI
1775  int Code,
1776  WPARAM wParam,
1777  LPARAM lParam,
1778  BOOL Ansi);
1779 
1780 DWORD_PTR
1781 NTAPI
1783  DWORD Routine);
1784 
1785 DWORD_PTR
1786 NTAPI
1788  DWORD_PTR Param,
1789  DWORD Routine);
1790 
1791 DWORD_PTR
1792 NTAPI
1794  DWORD_PTR Param1,
1795  DWORD_PTR Param2,
1796  DWORD Routine);
1797 
1798 BOOL
1799 NTAPI
1801  HWND hWndRemove,
1802  HWND hWndNewNext);
1803 
1804 LONG
1805 NTAPI
1807  PUNICODE_STRING lpszDeviceName,
1809  DWORD dwflags,
1810  LPVOID lParam);
1811 
1812 BOOL
1813 NTAPI
1815  DWORD dwThreadId);
1816 
1817 BOOL
1818 NTAPI
1820  HWND hwnd,
1821  DWORD dwThreadId,
1822  ULONG ReturnValue);
1823 
1824 DWORD
1825 NTAPI
1827  DWORD dwUnknown1,
1828  LPARAM dwUnknown2);
1829 
1830 HWND NTAPI
1832  HWND Parent,
1833  LONG x,
1834  LONG y,
1835  UINT Flags);
1836 
1837 BOOL
1838 NTAPI
1840  RECT *lpRect);
1841 
1842 BOOL
1843 NTAPI
1845 
1846 BOOL
1847 NTAPI
1849  HDESK hDesktop);
1850 
1851 BOOL
1852 NTAPI
1854  HWINSTA hWinSta);
1855 
1856 /* Console commands for NtUserConsoleControl */
1857 typedef enum _CONSOLECONTROL
1858 {
1864 
1866 {
1870 
1871 NTSTATUS
1872 APIENTRY
1874  IN CONSOLECONTROL ConsoleCtrl,
1875  IN PVOID ConsoleCtrlInfo,
1876  IN ULONG ConsoleCtrlInfoLength);
1877 
1878 HANDLE
1879 NTAPI
1881  PVOID pData,
1882  DWORD cbData);
1883 
1884 ULONG
1885 NTAPI
1887  HACCEL Table,
1888  LPACCEL Entries,
1889  ULONG EntriesCount);
1890 
1891 DWORD
1892 NTAPI
1894 
1895 HACCEL
1896 NTAPI
1898  LPACCEL Entries,
1899  ULONG EntriesCount);
1900 
1901 BOOL
1902 NTAPI
1904  HWND hWnd,
1905  HBITMAP hBitmap,
1906  int nWidth,
1907  int nHeight);
1908 
1909 HDESK
1910 NTAPI
1912  POBJECT_ATTRIBUTES poa,
1913  PUNICODE_STRING lpszDesktopDevice,
1914  LPDEVMODEW lpdmw,
1915  DWORD dwFlags,
1916  ACCESS_MASK dwDesiredAccess);
1917 
1918 HIMC
1919 NTAPI
1921 
1922 NTSTATUS
1923 NTAPI
1925  HANDLE hMem,
1926  PVOID pData,
1927  DWORD cbData,
1928  DWORD *pcbData);
1929 
1930 HWND
1931 NTAPI
1933  DWORD dwExStyle,
1934  PLARGE_STRING plstrClassName,
1935  PLARGE_STRING plstrClsVersion,
1936  PLARGE_STRING plstrWindowName,
1937  DWORD dwStyle,
1938  int x,
1939  int y,
1940  int nWidth,
1941  int nHeight,
1942  HWND hWndParent,
1943  HMENU hMenu,
1945  LPVOID lpParam,
1946  DWORD dwFlags,
1947  PVOID acbiBuffer);
1948 
1949 HWINSTA
1950 NTAPI
1953  ACCESS_MASK dwDesiredAccess,
1954  DWORD Unknown2,
1955  DWORD Unknown3,
1956  DWORD Unknown4,
1957  DWORD Unknown5,
1958  DWORD Unknown6);
1959 
1960 BOOL
1961 NTAPI
1963  IN HWND hwndClient,
1964  IN HWND hWndServer,
1966 
1967 DWORD
1968 NTAPI
1970  DWORD Unknown0,
1971  DWORD Unknown1,
1972  DWORD Unknown2,
1973  DWORD Unknown3,
1974  DWORD Unknown4);
1975 
1976 BOOL
1977 NTAPI
1979  IN HWND hwndClient,
1982 
1983 HDWP
1984 NTAPI
1986  HDWP WinPosInfo,
1987  HWND Wnd,
1988  HWND WndInsertAfter,
1989  int x,
1990  int y,
1991  int cx,
1992  int cy,
1993  UINT Flags);
1994 
1995 BOOL
1996 NTAPI
1998  HWND WindowHandle,
1999  PLARGE_STRING WindowText);
2000 
2001 BOOLEAN
2002 NTAPI
2004  HACCEL Table);
2005 
2006 BOOL
2007 NTAPI
2009  _In_ HANDLE Handle,
2010  _In_ BOOL bForce);
2011 
2012 BOOL
2013 NTAPI
2015 
2016 BOOLEAN
2017 NTAPI
2019  HWND Wnd);
2020 
2021 DWORD
2022 NTAPI
2024  DWORD dwUnknown1);
2025 
2026 LRESULT
2027 NTAPI
2029  PMSG pMsg);
2030 
2031 BOOL
2032 NTAPI
2034  HWND hWnd,
2035  POINT pt);
2036 
2037 DWORD
2038 NTAPI
2040  HWND hwnd1,
2041  HWND hwnd2,
2042  UINT u1,
2043  DWORD dw1,
2044  HCURSOR hc1);
2045 
2046 BOOL
2047 NTAPI
2049  HWND hwnd,
2050  INT idAni,
2051  RECT *lprcFrom,
2052  RECT *lprcTo);
2053 
2054 BOOL
2055 NTAPI
2057  HWND hWnd,
2058  HDC hDc,
2059  LPCRECT lpRc,
2060  UINT uFlags);
2061 
2062 BOOL
2063 NTAPI
2065  HWND hWnd,
2066  HDC hDC,
2067  LPCRECT lpRc,
2068  HFONT hFont,
2069  HICON hIcon,
2070  const PUNICODE_STRING str,
2071  UINT uFlags);
2072 
2073 /* Used with NtUserDrawIconEx, last parameter. */
2074 typedef struct _DRAWICONEXDATA
2075 {
2078  int cx;
2079  int cy;
2081 
2082 BOOL
2083 NTAPI
2085  HDC hdc,
2086  int xLeft,
2087  int yTop,
2088  HICON hIcon,
2089  int cxWidth,
2090  int cyWidth,
2091  UINT istepIfAniCur,
2092  HBRUSH hbrFlickerFreeDraw,
2093  UINT diFlags,
2094  BOOL bMetaHDC,
2095  PVOID pDIXData);
2096 
2097 BOOL
2098 NTAPI
2100 
2101 BOOL
2102 NTAPI
2104  HWND hWnd,
2105  UINT wSBflags,
2106  UINT wArrows);
2107 
2108 BOOL
2109 NTAPI
2111  HDWP WinPosInfo,
2112  DWORD Unknown1);
2113 
2114 BOOL
2115 NTAPI
2117  HWND hWnd,
2118  CONST PAINTSTRUCT *lPs);
2119 
2120 BOOL
2121 NTAPI
2123  PUNICODE_STRING lpDevice, /* device name */
2124  DWORD iDevNum, /* display device */
2125  PDISPLAY_DEVICEW lpDisplayDevice, /* device information */
2126  DWORD dwFlags); /* reserved */
2127 
2128 /*
2129 BOOL
2130 NTAPI
2131 NtUserEnumDisplayMonitors(
2132  HDC hdc,
2133  LPCRECT lprcClip,
2134  MONITORENUMPROC lpfnEnum,
2135  LPARAM dwData);
2136 */
2137 /* FIXME: The call below is ros-specific and should be rewritten to use the same params as the correct call above. */
2138 INT
2139 NTAPI
2141  OPTIONAL IN HDC hDC,
2142  OPTIONAL IN LPCRECT pRect,
2143  OPTIONAL OUT HMONITOR *hMonitorList,
2144  OPTIONAL OUT LPRECT monitorRectList,
2145  OPTIONAL IN DWORD listSize);
2146 
2147 
2148 NTSTATUS
2149 NTAPI
2151  PUNICODE_STRING lpszDeviceName,
2152  DWORD iModeNum,
2153  LPDEVMODEW lpDevMode, /* FIXME is this correct? */
2154  DWORD dwFlags);
2155 
2156 DWORD
2157 NTAPI
2158 NtUserEvent(
2159  DWORD Unknown0);
2160 
2161 INT
2162 NTAPI
2164  HDC hDC,
2165  HWND hWnd);
2166 
2167 BOOL
2168 NTAPI
2170  HWND hWndPaint,
2171  HWND hWndPaint1,
2172  HDC hDC,
2173  HBRUSH hBrush);
2174 
2175 HWND
2176 NTAPI
2178  HWND hwndParent,
2179  HWND hwndChildAfter,
2180  PUNICODE_STRING ucClassName,
2181  PUNICODE_STRING ucWindowName,
2182  DWORD dwUnknown);
2183 
2184 BOOL
2185 NTAPI
2187  IN PFLASHWINFO pfwi);
2188 
2189 BOOL
2190 NTAPI
2192  HWND hwnd,
2193  INT iItem,
2194  PALTTABINFO pati,
2195  LPWSTR pszItemText,
2196  UINT cchItemText,
2197  BOOL Ansi);
2198 
2199 HWND
2200 NTAPI
2202  HWND hWnd,
2203  UINT Flags);
2204 
2205 DWORD
2206 NTAPI
2208  DWORD dwUnknown1);
2209 
2210 SHORT
2211 NTAPI
2213  INT Key);
2214 
2215 _Success_(return != 0)
2216 _At_(pustrName->Buffer, _Out_z_bytecap_post_bytecount_(pustrName->MaximumLength, return * 2 + 2))
2217 ULONG
2218 APIENTRY
2219 NtUserGetAtomName(
2220  _In_ ATOM atom,
2221  _Inout_ PUNICODE_STRING pustrName);
2222 
2223 UINT
2224 NTAPI
2226 
2227 BOOL
2228 NTAPI
2230  LPPOINT lpPoint);
2231 
2232 BOOL
2233 NTAPI
2236  PUNICODE_STRING ClassName,
2237  LPWNDCLASSEXW wcex,
2238  LPWSTR *ppszMenuName,
2239  BOOL Ansi);
2240 
2241 INT
2242 NTAPI
2244  HWND hWnd,
2245  BOOL Real, /* 0 GetClassNameW, 1 RealGetWindowClassA/W */
2246  PUNICODE_STRING ClassName);
2247 
2248 HANDLE
2249 NTAPI
2251  UINT fmt,
2252  PGETCLIPBDATA pgcd);
2253 
2254 INT
2255 NTAPI
2257  UINT uFormat,
2258  LPWSTR lpszFormatName,
2259  INT cchMaxCount);
2260 
2261 HWND
2262 NTAPI
2264 
2265 DWORD
2266 NTAPI
2268 
2269 HWND
2270 NTAPI
2272 
2273 BOOL
2274 NTAPI
2276  RECT *lpRect);
2277 
2278 BOOL
2279 NTAPI
2281  HWND hWnd,
2282  PCOMBOBOXINFO pcbi);
2283 
2284 HBRUSH
2285 NTAPI
2287  HWND hwnd,
2288  HDC hdc,
2289  UINT ctlType);
2290 
2291 HBRUSH
2292 NTAPI
2294  HWND hwndParent,
2295  HWND hwnd,
2296  HDC hdc,
2297  UINT CtlMsg);
2298 
2299 ULONG_PTR
2300 NTAPI
2301 NtUserGetCPD(
2302  HWND hWnd,
2303  GETCPD Flags,
2304  ULONG_PTR Proc);
2305 
2306 HCURSOR
2307 NTAPI
2309  HCURSOR hCursor,
2310  DWORD istep,
2311  INT *rate_jiffies,
2312  DWORD *num_steps);
2313 
2314 BOOL
2315 NTAPI
2317  PCURSORINFO pci);
2318 
2319 HDC
2320 NTAPI
2321 NtUserGetDC(
2322  HWND hWnd);
2323 
2324 HDC
2325 NTAPI
2327  HWND hWnd,
2328  HANDLE hRegion,
2329  ULONG Flags);
2330 
2331 UINT
2332 NTAPI
2334 
2335 HWND
2336 NTAPI
2338 
2339 DWORD
2340 NTAPI
2342  HANDLE hProcess,
2343  DWORD uiFlags);
2344 
2345 BOOL
2346 NTAPI
2348  DWORD idThread,
2349  LPGUITHREADINFO lpgui);
2350 
2352 BOOL
2353 NTAPI
2354 NtUserGetIconInfo(
2355  _In_ HANDLE hCurIcon,
2360  _In_ BOOL bInternal);
2361 
2362 BOOL
2363 NTAPI
2365  HANDLE Handle,
2366  UINT istepIfAniCur,
2367  LONG *plcx,
2368  LONG *plcy);
2369 
2370 BOOL NTAPI
2371 NtUserGetImeHotKey(IN DWORD dwHotKey,
2372  OUT LPUINT lpuModifiers,
2373  OUT LPUINT lpuVKey,
2374  OUT LPHKL lphKL);
2375 
2376 BOOL
2377 NTAPI
2379  PIMEINFOEX pImeInfoEx,
2380  IMEINFOEXCLASS SearchType);
2381 
2382 DWORD
2383 NTAPI
2385  HWND hwnd,
2386  LPRECT rectWnd,
2387  LPPOINT ptIcon);
2388 
2389 HKL
2390 NTAPI
2392  DWORD dwThreadid);
2393 
2394 UINT
2395 NTAPI
2397  ULONG nItems,
2398  HKL *pHklBuff);
2399 
2400 BOOL
2401 NTAPI
2403  LPWSTR lpszName);
2404 
2405 DWORD
2406 NTAPI
2408  LPBYTE Unknown0);
2409 
2410 DWORD
2411 NTAPI
2413  DWORD TypeFlag);
2414 
2415 DWORD
2416 NTAPI
2418  LONG lParam,
2419  LPWSTR lpString,
2420  int nSize);
2421 
2422 SHORT
2423 NTAPI
2425  INT VirtKey);
2426 
2427 BOOL
2428 NTAPI
2430  HWND hwnd,
2431  COLORREF *pcrKey,
2432  BYTE *pbAlpha,
2433  DWORD *pdwFlags);
2434 
2435 DWORD
2436 NTAPI
2438  HWND hWnd);
2439 
2440 BOOL
2441 APIENTRY
2443  PMSG pMsg,
2444  HWND hWnd,
2445  UINT MsgFilterMin,
2446  UINT MsgFilterMax);
2447 
2448 DWORD
2449 NTAPI
2451  UINT cbSize,
2452  LPMOUSEMOVEPOINT lppt,
2453  LPMOUSEMOVEPOINT lpptBuf,
2454  int nBufPoints,
2455  DWORD resolution);
2456 
2457 BOOL
2458 NTAPI
2460  HANDLE hObject,
2461  DWORD nIndex,
2462  PVOID pvInformation,
2463  DWORD nLength,
2464  PDWORD nLengthNeeded);
2465 
2466 HWND
2467 NTAPI
2469 
2470 INT
2471 NTAPI
2473  UINT *paFormatPriorityList,
2474  INT cFormats);
2475 
2476 HWINSTA
2477 NTAPI
2479 
2480 DWORD
2481 NTAPI
2483  PRAWINPUT pData,
2484  PUINT pcbSize,
2485  UINT cbSizeHeader);
2486 
2487 DWORD
2488 NTAPI
2490  HRAWINPUT hRawInput,
2491  UINT uiCommand,
2492  LPVOID pData,
2493  PUINT pcbSize,
2494  UINT cbSizeHeader);
2495 
2496 DWORD
2497 NTAPI
2499  HANDLE hDevice,
2500  UINT uiCommand,
2501  LPVOID pData,
2502  PUINT pcbSize);
2503 
2504 DWORD
2505 NTAPI
2507  PRAWINPUTDEVICELIST pRawInputDeviceList,
2508  PUINT puiNumDevices,
2509  UINT cbSize);
2510 
2511 DWORD
2512 NTAPI
2514  PRAWINPUTDEVICE pRawInputDevices,
2515  PUINT puiNumDevices,
2516  UINT cbSize);
2517 
2518 BOOL
2519 NTAPI
2521  HWND hWnd,
2522  LONG idObject,
2523  PSCROLLBARINFO psbi);
2524 
2525 HDESK
2526 NTAPI
2528  DWORD dwThreadId,
2529  HDESK hConsoleDesktop);
2530 
2532 {
2547 };
2548 
2549 DWORD_PTR
2550 NTAPI
2552  DWORD Routine);
2553 
2554 BOOLEAN
2555 NTAPI
2557  HWND hwnd,
2558  PTITLEBARINFO pti);
2559 
2560 BOOL
2561 NTAPI
2563  HWND hWnd,
2564  LPRECT lpRect,
2565  BOOL fErase);
2566 
2567 INT
2568 NTAPI
2570  HWND hWnd,
2571  HRGN hRgn,
2572  BOOL bErase);
2573 
2574 HDC
2575 NTAPI
2577  HWND hWnd);
2578 
2579 BOOL
2580 NTAPI
2582  HWND hWnd,
2583  WINDOWPLACEMENT *lpwndpl);
2584 
2585 PCLS
2586 NTAPI
2589  PUNICODE_STRING ClassName);
2590 
2591 DWORD
2592 NTAPI
2594  DWORD dwUnknown1,
2595  DWORD dwUnknown2,
2596  DWORD dwUnknown3);
2597 
2598 BOOL
2599 NTAPI
2601  HWND hWndClient,
2602  HWND hWndServer);
2603 
2604 NTSTATUS
2605 NTAPI
2607  DWORD dwWinVersion,
2608  HANDLE hPowerRequestEvent,
2609  HANDLE hMediaRequestEvent);
2610 
2611 NTSTATUS
2612 NTAPI
2617  HINSTANCE hmodUser);
2618 
2619 DWORD
2620 NTAPI
2622  DWORD Unknown0,
2623  DWORD Unknown1,
2624  DWORD Unknown2,
2625  DWORD Unknown3,
2626  DWORD Unknown4,
2627  DWORD Unknown5,
2628  DWORD Unknown6,
2629  DWORD Unknown7,
2630  DWORD Unknown8,
2631  DWORD Unknown9,
2632  DWORD Unknown10,
2633  DWORD Unknown11);
2634 
2635 INT
2636 NTAPI
2638  HWND hWnd,
2639  LPWSTR lpString,
2640  INT nMaxCount);
2641 
2642 BOOL
2643 NTAPI
2645  HWND hWnd,
2646  CONST RECT *lpRect,
2647  BOOL bErase);
2648 
2649 BOOL
2650 NTAPI
2652  HWND hWnd,
2653  HRGN hRgn,
2654  BOOL bErase);
2655 
2656 BOOL
2657 NTAPI
2659  UINT format);
2660 
2661 BOOL
2662 NTAPI
2664  HWND hWnd,
2665  UINT_PTR uIDEvent);
2666 
2667 HKL
2668 NTAPI
2670  IN HANDLE Handle,
2671  IN DWORD offTable,
2672  IN PUNICODE_STRING puszKeyboardName,
2673  IN HKL hKL,
2674  IN PUNICODE_STRING puszKLID,
2675  IN DWORD dwKLID,
2676  IN UINT Flags);
2677 
2678 BOOL
2679 NTAPI
2681  HWINSTA hWindowStation);
2682 
2683 BOOL
2684 NTAPI
2686  HWND hWnd);
2687 
2688 BOOL
2689 NTAPI
2691 
2692 UINT
2693 NTAPI
2695  UINT keyCode,
2696  UINT transType,
2697  DWORD keyboardId,
2698  HKL dwhkl);
2699 
2700 typedef struct tagDOSENDMESSAGE
2701 {
2705 }
2707 
2708 BOOL
2709 NTAPI
2711  HWND hWnd,
2712  UINT Msg,
2713  WPARAM wParam,
2714  LPARAM lParam,
2715  ULONG_PTR ResultInfo,
2716  DWORD dwType, /* FNID_XX types */
2717  BOOL Ansi);
2718 
2719 DWORD
2720 NTAPI
2722  HWND hWnd,
2723  UINT cmd, /* Wine SW_ commands */
2724  BOOL Hide);
2725 
2726 DWORD
2727 NTAPI
2729 
2730 DWORD
2731 NTAPI
2733  DWORD Unknown0,
2734  DWORD Unknown1);
2735 
2736 DWORD
2737 NTAPI
2739  DWORD Unknown0,
2740  DWORD Unknown1);
2741 
2742 BOOL
2743 NTAPI
2745  HWND hWnd,
2746  int X,
2747  int Y,
2748  int nWidth,
2749  int nHeight,
2750  BOOL bRepaint
2751 );
2752 
2753 DWORD
2754 NTAPI
2756  HWND hwnd,
2757  HIMC hIMC,
2758  DWORD dwConversion);
2759 
2760 BOOL
2761 NTAPI
2763  HANDLE NewProcessId,
2764  HANDLE ParentThreadId,
2765  ULONG dwUnknown,
2766  ULONG CreateFlags);
2767 
2768 VOID
2769 NTAPI
2771  DWORD Event,
2772  HWND hWnd,
2773  LONG idObject,
2774  LONG idChild);
2775 
2776 BOOL
2777 NTAPI
2779  HWND hWnd,
2780  DWORD Unknown1);
2781 
2782 HDESK
2783 NTAPI
2786  DWORD dwFlags,
2787  ACCESS_MASK dwDesiredAccess);
2788 
2789 HDESK
2790 NTAPI
2792  DWORD dwFlags,
2793  BOOL fInherit,
2794  ACCESS_MASK dwDesiredAccess);
2795 
2796 HWINSTA
2797 NTAPI
2800  ACCESS_MASK dwDesiredAccess);
2801 
2802 BOOL
2803 NTAPI
2805  HDC hDC);
2806 
2807 DWORD
2808 NTAPI
2810  HWND hWnd,
2811  HDC hDC,
2812  ULONG left, // x,
2813  ULONG right, // width, // Scale the edge thickness, offset?
2814  ULONG top, // y,
2815  BOOL bActive); // DWORD Flags); DC_ACTIVE or WS_ACTIVECAPTION, by checking WNDS_ACTIVEFRAME and foreground.
2816 
2817 BOOL
2818 APIENTRY
2820  PMSG pMsg,
2821  HWND hWnd,
2822  UINT MsgFilterMin,
2823  UINT MsgFilterMax,
2824  UINT RemoveMsg);
2825 
2826 BOOL
2827 NTAPI
2829  HWND hWnd,
2830  UINT Msg,
2831  WPARAM wParam,
2832  LPARAM lParam);
2833 
2834 BOOL
2835 NTAPI
2837  DWORD idThread,
2838  UINT Msg,
2839  WPARAM wParam,
2840  LPARAM lParam);
2841 
2842 BOOL
2843 NTAPI
2845  HWND hwnd,
2846  HDC hdcBlt,
2847  UINT nFlags);
2848 
2849 NTSTATUS
2850 NTAPI
2853  OUT PUSERCONNECT pUserConnect,
2854  IN ULONG Size); /* sizeof(USERCONNECT) */
2855 
2856 NTSTATUS
2857 NTAPI
2859  IN HANDLE ThreadHandle,
2861  OUT PVOID ThreadInformation,
2863 
2864 DWORD
2865 NTAPI
2867  HIMC hIMC,
2868  DWORD dwUnknown2);
2869 
2870 DWORD
2871 NTAPI
2873  DWORD Unknown0);
2874 
2875 DWORD
2876 NTAPI
2878  DWORD Unknown0,
2879  DWORD Unknown1,
2880  DWORD Unknown2,
2881  DWORD Unknown3,
2882  DWORD Unknown4);
2883 
2884 #define QUERY_WINDOW_UNIQUE_PROCESS_ID 0x00
2885 #define QUERY_WINDOW_UNIQUE_THREAD_ID 0x01
2886 #define QUERY_WINDOW_ACTIVE 0x02
2887 #define QUERY_WINDOW_FOCUS 0x03
2888 #define QUERY_WINDOW_ISHUNG 0x04
2889 #define QUERY_WINDOW_REAL_ID 0x05
2890 #define QUERY_WINDOW_FOREGROUND 0x06
2891 #define QUERY_WINDOW_DEFAULT_IME 0x07
2892 #define QUERY_WINDOW_DEFAULT_ICONTEXT 0x08
2893 #define QUERY_WINDOW_ACTIVE_IME 0x09
2894 
2895 DWORD_PTR
2896 NTAPI
2898  HWND hWnd,
2899  DWORD Index);
2900 
2901 BOOL
2902 NTAPI
2904  LPMSG lpMsg,
2905  HWND hWnd,
2906  UINT wMsgFilterMin,
2907  UINT wMsgFilterMax,
2908  UINT wRemoveMsg,
2909  BOOL bGMSG);
2910 
2911 HWND
2912 NTAPI
2914  HWND Parent,
2915  LONG x,
2916  LONG y);
2917 
2918 BOOL
2919 NTAPI
2921  DWORD dwWakeMask,
2922  UINT uTimeout);
2923 
2924 BOOL
2925 NTAPI
2927  HWND hWnd,
2928  CONST RECT *lprcUpdate,
2929  HRGN hrgnUpdate,
2930  UINT flags);
2931 
2932 RTL_ATOM
2933 NTAPI
2935  WNDCLASSEXW* lpwcx,
2936  PUNICODE_STRING pustrClassName,
2937  PUNICODE_STRING pustrCVersion,
2938  PCLSMENUNAME pClassMenuName,
2939  DWORD fnID,
2940  DWORD Flags,
2941  LPDWORD pWow);
2942 
2943 BOOL
2944 NTAPI
2946  IN PCRAWINPUTDEVICE pRawInputDevices,
2947  IN UINT uiNumDevices,
2948  IN UINT cbSize);
2949 
2950 BOOL
2951 NTAPI
2953  PUNICODE_STRING m_dllname1,
2954  PUNICODE_STRING m_funname1,
2955  DWORD dwUnknown3,
2956  DWORD dwUnknown4);
2957 
2958 BOOL
2959 NTAPI
2961  HWND hWnd,
2962  int id,
2963  UINT fsModifiers,
2964  UINT vk);
2965 
2966 DWORD
2967 NTAPI
2969  DWORD Unknown0);
2970 
2971 UINT
2972 NTAPI
2974  PUNICODE_STRING MessageName);
2975 
2976 DWORD
2977 NTAPI
2979  DWORD dwUnknown1,
2980  DWORD dwUnknown2,
2981  DWORD dwUnknown3);
2982 
2983 DWORD
2984 NTAPI
2986  DWORD dwUnknown1,
2987  DWORD dwUnknown2,
2988  DWORD dwUnknown3,
2989  DWORD dwUnknown4);
2990 
2991 DWORD
2992 NTAPI
2994 
2995 DWORD
2996 NTAPI
2998 
2999 HANDLE
3000 NTAPI
3002  HWND hWnd,
3003  ATOM Atom);
3004 
3005 HDESK
3006 NTAPI
3009  IN PUNICODE_STRING DesktopPath,
3010  IN BOOL bInherit,
3011  OUT HWINSTA* phWinSta);
3012 
3013 DWORD
3014 NTAPI
3016  DWORD Unknown0);
3017 
3018 BOOL
3019 NTAPI
3021  HWND hwnd,
3022  int fnBar,
3023  PSBDATA pSBData,
3024  LPSCROLLINFO lpsi);
3025 
3026 BOOL
3027 NTAPI
3029  HDC hDC,
3030  int dx,
3031  int dy,
3032  CONST RECT *lprcScroll,
3033  CONST RECT *lprcClip ,
3034  HRGN hrgnUpdate,
3035  LPRECT lprcUpdate);
3036 
3037 DWORD
3038 NTAPI
3040  HWND hWnd,
3041  INT dx,
3042  INT dy,
3043  const RECT *rect,
3044  const RECT *clipRect,
3045  HRGN hrgnUpdate,
3046  LPRECT rcUpdate,
3047  UINT flags);
3048 
3049 UINT
3050 NTAPI
3052  UINT nInputs,
3053  LPINPUT pInput,
3054  INT cbSize);
3055 
3056 HWND
3057 NTAPI
3059  HWND Wnd);
3060 
3061 DWORD
3062 NTAPI
3064  DWORD dwUnknown1,
3065  DWORD dwUnknown2);
3066 
3067 HWND
3068 NTAPI
3070  HWND Wnd);
3071 
3072 ULONG_PTR
3073 NTAPI
3075  HWND hWnd,
3076  INT Offset,
3077  ULONG_PTR dwNewLong,
3078  BOOL Ansi);
3079 
3080 WORD
3081 NTAPI
3083  HWND hWnd,
3084  INT nIndex,
3085  WORD wNewWord);
3086 
3087 HANDLE
3088 NTAPI
3090  UINT fmt,
3091  HANDLE hMem,
3092  PSETCLIPBDATA scd);
3093 
3094 HWND
3095 NTAPI
3097  HWND hWndNewViewer);
3098 
3099 HPALETTE
3100 NTAPI
3102  HDC hDC,
3103  HPALETTE hpal,
3104  BOOL ForceBackground);
3105 
3106 DWORD
3107 NTAPI
3109  DWORD Unknown0,
3110  DWORD Unknown1);
3111 
3112 HCURSOR
3113 NTAPI
3115  HCURSOR hCursor);
3116 
3117 BOOL
3118 NTAPI
3120  HANDLE Handle,
3122 
3123 BOOL
3124 NTAPI
3126  _In_ HCURSOR hCursor,
3127  _In_opt_ PUNICODE_STRING pustrModule,
3128  _In_opt_ PUNICODE_STRING puSrcName,
3129  _In_ const CURSORDATA *pCursorData);
3130 
3132 {
3137 
3138 HICON
3139 NTAPI
3141  _In_ PUNICODE_STRING pustrModule,
3142  _In_ PUNICODE_STRING pustrRsrc,
3144 
3145 DWORD
3146 NTAPI
3148  DWORD Unknown0,
3149  DWORD Unknown1);
3150 
3151 DWORD
3152 APIENTRY
3154  DWORD Unknown0);
3155 
3156 HWND
3157 NTAPI
3159  HWND hWnd);
3160 
3161 DWORD
3162 NTAPI
3164  DWORD Unknown0,
3165  DWORD Unknown1,
3166  DWORD Unknown2,
3167  DWORD Unknown3,
3168  DWORD Unknown4);
3169 
3170 DWORD
3171 NTAPI
3173  PIMEINFOEX pImeInfoEx);
3174 
3175 DWORD
3176 NTAPI
3177 NtUserSetImeOwnerWindow(PIMEINFOEX pImeInfoEx, BOOL fFlag);
3178 
3179 DWORD
3180 NTAPI
3182  DWORD dwUnknown1,
3183  DWORD dwUnknown2,
3184  DWORD dwUnknown3,
3185  DWORD dwUnknown4);
3186 
3187 NTSTATUS
3188 NTAPI
3190  IN HANDLE ThreadHandle,
3192  IN PVOID ThreadInformation,
3194 
3195 DWORD
3196 NTAPI
3198  HWND hwnd,
3199  UINT showCmd,
3200  LPRECT rect,
3201  LPPOINT pt);
3202 
3203 BOOL
3204 NTAPI
3206  LPBYTE lpKeyState);
3207 
3208 BOOL
3209 NTAPI
3211  HWND hwnd,
3212  COLORREF crKey,
3213  BYTE bAlpha,
3214  DWORD dwFlags);
3215 
3216 BOOL
3217 NTAPI
3219  HWND hWnd);
3220 
3221 BOOL
3222 NTAPI
3224  HANDLE hObject,
3225  DWORD nIndex,
3226  PVOID pvInformation,
3227  DWORD nLength);
3228 
3229 HWND
3230 NTAPI
3232  HWND hWndChild,
3233  HWND hWndNewParent);
3234 
3235 BOOL
3236 NTAPI
3238  HWINSTA hWindowStation);
3239 
3240 BOOL
3241 NTAPI
3243  HWND hWnd,
3244  ATOM Atom,
3245  HANDLE Data);
3246 
3247 DWORD
3248 NTAPI
3250  DWORD Unknown0);
3251 
3252 DWORD
3253 NTAPI
3255  HWND hwnd,
3256  int fnBar,
3257  LPCSCROLLINFO lpsi,
3258  BOOL bRedraw);
3259 
3260 BOOL
3261 NTAPI
3263  HWND hwndShell,
3264  HWND hwndShellListView);
3265 
3266 BOOL
3267 NTAPI
3269  int cElements,
3270  IN CONST INT *lpaElements,
3271  IN CONST COLORREF *lpaRgbValues,
3272  FLONG Flags);
3273 
3274 BOOL
3275 NTAPI
3277  HCURSOR hcur,
3278  DWORD id);
3279 
3280 BOOL
3281 NTAPI
3283  HDESK hDesktop);
3284 
3285 DWORD
3286 NTAPI
3288  DWORD Unknown0,
3289  DWORD Unknown1);
3290 
3291 UINT_PTR
3292 NTAPI
3294  HWND hWnd,
3295  UINT_PTR nIDEvent,
3296  UINT uElapse,
3297  TIMERPROC lpTimerFunc);
3298 
3299 DWORD
3300 NTAPI
3302  DWORD dwUnknown1,
3303  DWORD dwUnknown2);
3304 
3305 UINT_PTR
3306 NTAPI
3308  HWND hWnd,
3309  UINT_PTR nIDEvent,
3310  UINT uElapse,
3311  TIMERPROC lpTimerFunc);
3312 
3313 BOOL
3314 NTAPI
3316  HWND hWnd,
3317  WORD fnID);
3318 
3319 LONG
3320 NTAPI
3322  HWND hWnd,
3323  DWORD Index,
3324  LONG NewValue,
3325  BOOL Ansi);
3326 
3327 #ifdef _WIN64
3328 LONG_PTR
3329 NTAPI
3330 NtUserSetWindowLongPtr(
3331  HWND hWnd,
3332  DWORD Index,
3333  LONG_PTR NewValue,
3334  BOOL Ansi);
3335 #endif // _WIN64
3336 
3337 BOOL
3338 NTAPI
3340  HWND hWnd,
3341  WINDOWPLACEMENT *lpwndpl);
3342 
3343 BOOL
3344 NTAPI
3346  HWND hWnd,
3347  HWND hWndInsertAfter,
3348  int X,
3349  int Y,
3350  int cx,
3351  int cy,
3352  UINT uFlags);
3353 
3354 INT
3355 NTAPI
3357  HWND hWnd,
3358  HRGN hRgn,
3359  BOOL bRedraw);
3360 
3361 HHOOK
3362 NTAPI
3364  int idHook,
3365  HOOKPROC lpfn,
3366  BOOL Ansi);
3367 
3368 HHOOK
3369 NTAPI
3371  HINSTANCE Mod,
3373  DWORD ThreadId,
3374  int HookId,
3375  HOOKPROC HookProc,
3376  BOOL Ansi);
3377 
3378 BOOL
3379 NTAPI
3381  IN HWINSTA hWindowStation,
3382  IN PLUID pluid,
3383  IN PSID psid OPTIONAL,
3384  IN DWORD size);
3385 
3386 WORD
3387 NTAPI
3389  HWND hWnd,
3390  INT Index,
3391  WORD NewVal);
3392 
3394 NTAPI
3396  UINT eventMin,
3397  UINT eventMax,
3398  HMODULE hmodWinEventProc,
3399  PUNICODE_STRING puString,
3400  WINEVENTPROC lpfnWinEventProc,
3401  DWORD idProcess,
3402  DWORD idThread,
3403  UINT dwflags);
3404 
3405 BOOL
3406 NTAPI
3408  HWND hWnd);
3409 
3410 BOOL
3411 NTAPI
3413  HWND hWnd);
3414 
3415 DWORD
3416 NTAPI
3418  HWND hWnd,
3419  int wBar,
3420  DWORD bShow);
3421 
3422 BOOL
3423 NTAPI
3425  HWND hWnd,
3426  LONG nCmdShow);
3427 
3428 BOOL
3429 NTAPI
3431  HWND hWnd,
3432  LONG nCmdShow);
3433 
3434 BOOL
3435 NTAPI
3437 
3438 BOOL
3439 NTAPI
3441  HDESK hDesktop);
3442 
3443 BOOL
3444 NTAPI
3446  UINT uiAction,
3447  UINT uiParam,
3448  PVOID pvParam,
3449  UINT fWinIni);
3450 
3451 DWORD
3452 NTAPI
3454  DWORD dwUnknown1);
3455 
3456 INT
3457 NTAPI
3459  UINT wVirtKey,
3460  UINT wScanCode,
3461  PBYTE lpKeyState,
3462  LPWSTR pwszBuff,
3463  int cchBuff,
3464  UINT wFlags,
3465  HKL dwhkl);
3466 
3467 BOOL
3468 NTAPI
3470  LPTRACKMOUSEEVENT lpEventTrack);
3471 
3472 int
3473 NTAPI
3475  HWND Window,
3476  HACCEL Table,
3477  LPMSG Message);
3478 
3479 BOOL
3480 NTAPI
3482  LPMSG lpMsg,
3483  UINT flags );
3484 
3485 BOOL
3486 NTAPI
3488  HHOOK Hook);
3489 
3490 BOOL
3491 NTAPI
3493  HWINEVENTHOOK hWinEventHook);
3494 
3495 BOOL
3496 NTAPI
3498  HKL hKl);
3499 
3500 BOOL
3501 NTAPI
3503  HWINSTA hWindowStation);
3504 
3505 BOOL
3506 NTAPI
3508  PUNICODE_STRING ClassNameOrAtom,
3510  PCLSMENUNAME pClassMenuName);
3511 
3512 BOOL
3513 NTAPI
3515  HWND hWnd,
3516  int id);
3517 
3518 BOOL
3519 NTAPI
3521 
3522 DWORD
3523 NTAPI
3525  HIMC hIMC,
3526  DWORD Unknown1,
3527  LPVOID pClientImc);
3528 
3529 DWORD
3530 NTAPI
3532  DWORD Unknown0,
3533  DWORD Unknown1,
3534  DWORD Unknown2);
3535 
3536 BOOL
3537 NTAPI
3539  HWND hwnd,
3540  HDC hdcDst,
3541  POINT *pptDst,
3542  SIZE *psize,
3543  HDC hdcSrc,
3544  POINT *pptSrc,
3545  COLORREF crKey,
3546  BLENDFUNCTION *pblend,
3547  DWORD dwFlags,
3548  RECT *prcDirty);
3549 
3550 BOOL
3551 NTAPI
3553  DWORD dwReserved,
3554  BOOL bEnable);
3555 
3556 BOOL
3557 NTAPI
3559  IN HANDLE hUserHandle,
3560  IN HANDLE hJob,
3561  IN BOOL bGrant);
3562 
3563 BOOL
3564 NTAPI
3566  HANDLE hHdl);
3567 
3568 BOOL
3569 NTAPI
3571  HWND hWnd,
3572  CONST RECT *lpRect);
3573 
3574 BOOL
3575 APIENTRY
3577  LPARAM lParam);
3578 
3579 DWORD
3580 NTAPI
3582  WCHAR wChar,
3584  BOOL bUsehHK);
3585 
3586 DWORD
3587 NTAPI
3589  IN HANDLE hProcess,
3590  IN DWORD dwMilliseconds,
3591  IN BOOL bSharedWow); /* Always FALSE */
3592 
3593 DWORD
3594 NTAPI
3596  DWORD Unknown0);
3597 
3598 BOOL
3599 NTAPI
3601 
3602 DWORD
3603 NTAPI
3605  DWORD Unknown0,
3606  DWORD Unknown1,
3607  DWORD Unknown2,
3608  DWORD Unknown3,
3609  DWORD Unknown4,
3610  DWORD Unknown5);
3611 
3612 HWND
3613 NTAPI
3615  LONG X,
3616  LONG Y);
3617 
3618 DWORD
3619 NTAPI
3621 
3622 /* NtUserBad
3623  * ReactOS-specific NtUser calls and their related structures, both which shouldn't exist.
3624  */
3625 
3626 #define NOPARAM_ROUTINE_ISCONSOLEMODE 0xffff0001
3627 #define ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING 0xfffe000d
3628 #define ONEPARAM_ROUTINE_GETDESKTOPMAPPING 0xfffe000e
3629 #define TWOPARAM_ROUTINE_SETMENUBARHEIGHT 0xfffd0050
3630 #define TWOPARAM_ROUTINE_SETGUITHRDHANDLE 0xfffd0051
3631 #define HWNDLOCK_ROUTINE_SETFOREGROUNDWINDOWMOUSE 0xfffd0052
3632 
3633 #define MSQ_STATE_CAPTURE 0x1
3634 #define MSQ_STATE_ACTIVE 0x2
3635 #define MSQ_STATE_FOCUS 0x3
3636 #define MSQ_STATE_MENUOWNER 0x4
3637 #define MSQ_STATE_MOVESIZE 0x5
3638 #define MSQ_STATE_CARET 0x6
3639 
3640 #define TWOPARAM_ROUTINE_ROS_UPDATEUISTATE 0x1004
3641 #define HWNDPARAM_ROUTINE_ROS_NOTIFYWINEVENT 0x1005
3642 
3643 BOOL
3644 NTAPI
3646  IN HMONITOR hMonitor,
3647  OUT LPMONITORINFO pMonitorInfo);
3648 
3649 /* Should be done in usermode */
3650 
3651 HMONITOR
3652 NTAPI
3654  IN POINT point,
3655  IN DWORD dwFlags);
3656 
3657 HMONITOR
3658 NTAPI
3660  IN LPCRECT pRect,
3661  IN DWORD dwFlags);
3662 
3663 HMONITOR
3664 NTAPI
3666  IN HWND hWnd,
3667  IN DWORD dwFlags);
3668 
3669 typedef struct _SETSCROLLBARINFO
3670 {
3675 
3676 BOOL
3677 NTAPI
3679  HWND hwnd,
3680  LONG idObject,
3682 
3683 #endif /* __WIN32K_NTUSER_H */
3684 
3685 /* EOF */
ULONG fFreed
Definition: ntuser.h:430
ULONG bAnsi
Definition: ntuser.h:96
struct tagOEMBITMAPINFO OEMBITMAPINFO
INT aiSysMet[SM_CMETRICS]
Definition: ntuser.h:965
WCHAR szName[16]
Definition: ntuser.h:941
WND wnd
Definition: ntuser.h:746
HKL NTAPI NtUserGetKeyboardLayout(DWORD dwThreadid)
DWORD_PTR dwMenuData
Definition: ntuser.h:399
HIMC NTAPI NtUserCreateInputContext(PCLIENTIMC pClientImc)
Definition: ntstubs.c:424
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:1136
signed char * PCHAR
Definition: retypes.h:7
INT cxBmp
Definition: ntuser.h:358
UINT NTAPI NtUserEnableMenuItem(HMENU hMenu, UINT uIDEnableItem, UINT uEnable)
Definition: menu.c:5856
BOOL NTAPI NtUserDrawIconEx(HDC hdc, int xLeft, int yTop, HICON hIcon, int cxWidth, int cyWidth, UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw, UINT diFlags, BOOL bMetaHDC, PVOID pDIXData)
Definition: cursoricon.c:2083
UINT uiShellMsg
Definition: ntuser.h:1019
ULONG_PTR cHandleEntries
Definition: ntuser.h:1008
HWND NTAPI NtUserCreateWindowEx(DWORD dwExStyle, PLARGE_STRING plstrClassName, PLARGE_STRING plstrClsVersion, PLARGE_STRING plstrWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam, DWORD dwFlags, PVOID acbiBuffer)
Definition: window.c:2426
CONST char * PCSZ
Definition: umtypes.h:125
UINT_PTR NTAPI NtUserSetTimer(HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc)
Definition: timer.c:630
struct tagHOOK HOOK
HMENU NTAPI NtUserGetSystemMenu(HWND hWnd, BOOL bRevert)
Definition: menu.c:5661
HWND hWnd
Definition: ntuser.h:406
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:35
ULONG fsHooks
Definition: ntuser.h:297
HFONT hMsgFont
Definition: ntuser.h:950
UINT uCodePage
Definition: ntuser.h:1225
POINT MaxPos
Definition: ntuser.h:717
struct tagMBSTRING * PMBSTRING
BOOL NTAPI NtUserTrackMouseEvent(LPTRACKMOUSEEVENT lpEventTrack)
Definition: mouse.c:482
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
BOOL NTAPI NtUserGetCaretPos(LPPOINT lpPoint)
Definition: caret.c:398
const uint16_t * PCWSTR
Definition: typedefs.h:57
DWORD dwReserved
Definition: ntuser.h:747
#define IN
Definition: typedefs.h:39
CALLBACKWND CallbackWnd
Definition: ntuser.h:298
GLint GLint GLsizei width
Definition: gl.h:1546
#define LONG_PTR
Definition: treelist.c:79
DWORD_PTR dwItemData
Definition: ntuser.h:349
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:1224
ULONG Win32ClientInfo3[26]
Definition: ntuser.h:313
WORD fsWakeBitsJournal
Definition: ntuser.h:168
DWORD ExStyle
Definition: ntuser.h:669
PVOID pSelf
Definition: ntuser.h:190
ASMGENDATA Table[]
Definition: genincdata.c:61
static HICON
Definition: imagelist.c:84
UINT wID
Definition: ntuser.h:343
_GETCPD
Definition: ntuser.h:507
INT cInDDEMLCallback
Definition: ntuser.h:300
WNDPROC pfnStaticWndProc
Definition: ntuser.h:775
INT cpxThumb
Definition: ntuser.h:497
DWORD dwProdVersion
Definition: ntuser.h:1169
LPWSTR lpName
Definition: ntuser.h:1127
DWORD NTAPI NtUserDdeInitialize(DWORD Unknown0, DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
Definition: dde.c:465
HWND hTaskManWindow
Definition: ntuser.h:140
HIMC hImc
Definition: ntuser.h:1274
USHORT BitCount
Definition: ntuser.h:992
UINT HideFocus
Definition: ntuser.h:723
struct _DESKTOP * rpdeskParent
Definition: ntuser.h:540
struct _WND * spwndPopupMenu
Definition: ntuser.h:439
INT fCUASLayer
Definition: ntuser.h:1176
unsigned short RTL_ATOM
Definition: atom.c:42
ULONG CURSORF_flags
Definition: ntuser.h:1131
INT page
Definition: ntuser.h:491
LIST_ENTRY ThreadListEntry
Definition: ntuser.h:729
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:510
WNDPROC pfnClientPrevious
Definition: ntuser.h:521
INT fSysWow64Only
Definition: ntuser.h:1175
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:2641
struct _DESKTOP * rpdesk
Definition: ntuser.h:189
#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:1167
DPISERVERINFO dpiSystem
Definition: ntuser.h:984
#define FNID_NUMSERVERPROC
Definition: ntuser.h:859
ULONG fToggle
Definition: ntuser.h:419
#define _Inout_
Definition: ms_sal.h:378
DWORD NTAPI NtUserRemoteRedrawScreen(VOID)
Definition: ntstubs.c:913
enum _CONSOLECONTROL CONSOLECONTROL
ULONG PropListItems
Definition: ntuser.h:689
HBRUSH hbrBack
Definition: ntuser.h:400
DWORD NTAPI NtUserDragObject(HWND hwnd1, HWND hwnd2, UINT u1, DWORD dw1, HCURSOR hc1)
Definition: ntstubs.c:67
DWORD ExStyle2
Definition: ntuser.h:710
GLint x0
Definition: linetemp.h:95
static HMENU hmenu
Definition: win.c:66
DWORD fsHooks
Definition: ntuser.h:137
#define Y(I)
HWND NTAPI NtUserSetCapture(HWND Wnd)
Definition: focus.c:1587
_Out_opt_ PICONINFO _Inout_opt_ PUNICODE_STRING lpInstName
Definition: ntuser.h:2356
struct tagMENULIST * PMENULIST
ULONG fIsSysMenu
Definition: ntuser.h:414
struct _THREADINFO * pti
Definition: ntuser.h:25
struct _CLS CLS
HANDLE hLocale
Definition: ntuser.h:1113
struct tagDDEPACK * PDDEPACK
DWORD NTAPI NtUserModifyUserStartupInfoFlags(DWORD Unknown0, DWORD Unknown1)
Definition: ntstubs.c:208
ULONG fRightButton
Definition: ntuser.h:418
struct _WNDMSG WNDMSG
DWORD NTAPI NtUserGetListBoxInfo(HWND hWnd)
Definition: window.c:3318
PVOID Buffer
Definition: ntuser.h:97
#define _At_(target, annos)
Definition: ms_sal.h:244
LPSTR pszClientAnsiMenuName
Definition: ntuser.h:467
enum _CONSOLECONTROL * PCONSOLECONTROL
BOOL NTAPI NtUserThunkedMenuItemInfo(HMENU hMenu, UINT uItem, BOOL fByPosition, BOOL bInsert, LPMENUITEMINFOW lpmii, PUNICODE_STRING lpszCaption)
Definition: menu.c:6556
CHAR acOemToAnsi[256]
Definition: ntuser.h:1025
BOOL NTAPI NtUserDestroyCursor(_In_ HANDLE Handle, _In_ BOOL bForce)
Definition: cursoricon.c:793
UINT Dummy
Definition: ntuser.h:150
BOOL NTAPI NtUserAttachThreadInput(IN DWORD idAttach, IN DWORD idAttachTo, IN BOOL fAttach)
Definition: input.c:664
BOOL WINAPI ImeProcessKey(HIMC, UINT, LPARAM, CONST LPBYTE)
struct _CLIENTTHREADINFO * PCLIENTTHREADINFO
WORD ATOM
Definition: dimm.idl:113
struct tagMENULIST * pNext
Definition: ntuser.h:366
struct _THROBJHEAD THROBJHEAD
HPALETTE NTAPI NtUserSelectPalette(HDC hDC, HPALETTE hpal, BOOL ForceBackground)
Definition: windc.c:1033
Definition: ftp_var.h:139
HWND NTAPI NtUserGetAncestor(HWND hWnd, UINT Flags)
Definition: window.c:3148
ATOM atomFrostedWindowProp
Definition: ntuser.h:1024
HKL NTAPI NtUserActivateKeyboardLayout(HKL hKl, ULONG Flags)
Definition: kbdlayout.c:705
struct tagCURSORDATA * aspcur
Definition: ntuser.h:1144
#define pt(x, y)
Definition: drawing.c:79
struct _CLIENTINFO CLIENTINFO
WNDPROC pfnGhostWndProc
Definition: ntuser.h:777
LRESULT NTAPI NtUserCallNextHookEx(int Code, WPARAM wParam, LPARAM lParam, BOOL Ansi)
Definition: hook.c:1371
UINT ucWheelScrollLines
Definition: ntuser.h:977
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:476
WNDPROC pfnEditWndProc
Definition: ntuser.h:772
UINT NTAPI NtUserGetMenuIndex(HMENU hMenu, HMENU hSubMenu)
Definition: menu.c:6069
uint16_t * PWSTR
Definition: typedefs.h:56
unsigned char type
Definition: ntuser.h:28
HINSTANCE hModule
Definition: ntuser.h:673
BOOL NTAPI NtUserCreateCaret(HWND hWnd, HBITMAP hBitmap, int nWidth, int nHeight)
Definition: caret.c:312
enum _GETCPD GETCPD
BOOL NTAPI NtUserTrackPopupMenuEx(HMENU hmenu, UINT fuFlags, int x, int y, HWND hwnd, LPTPMPARAMS lptpm)
Definition: menu.c:6616
UINT fFreeActiveEvent
Definition: ntuser.h:1204
WNDPROC lpfnWndProc
Definition: ntuser.h:683
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:553
static DWORD DWORD istep
Definition: cursoricon.c:1638
SBDATA Vert
Definition: ntuser.h:484
BOOL NTAPI NtUserRegisterHotKey(HWND hWnd, int id, UINT fsModifiers, UINT vk)
Definition: hotkey.c:512
GLint dy
Definition: linetemp.h:97
HANDLE h
Definition: ntuser.h:176
BOOL NTAPI NtUserCallMsgFilter(LPMSG msg, INT code)
Definition: message.c:2379
WORD vk
Definition: input.c:77
struct tagIMEINFOEX * PIMEINFOEX
char CHAR
Definition: xmlstorage.h:175
ThreadStateRoutines
Definition: ntuser.h:2531
TW_UINT32 TW_UINT16 TW_UINT16 MSG
Definition: twain.h:1827
LIST_ENTRY ListEntry
Definition: ntuser.h:405
struct tagMENULIST MENULIST
NTSTATUS NTAPI NtUserBuildHimcList(DWORD dwThreadId, DWORD dwCount, HIMC *phList, LPDWORD pdwCount)
Definition: ntstubs.c:59
HDESK hDesk
Definition: ntuser.h:1066
WNDPROC_EX pfnStaticWndProc
Definition: ntuser.h:808
DWORD recipients
Definition: ntuser.h:1065
WNDPROC pfnDefWindowProc
Definition: ntuser.h:765
HWND NTAPI NtUserGetClipboardViewer(VOID)
Definition: clipboard.c:800
UINT fState
Definition: ntuser.h:342
struct _PFNCLIENT * PPFNCLIENT
struct _tagFINDEXISTINGCURICONPARAM FINDEXISTINGCURICONPARAM
ULONG fDestroyed
Definition: ntuser.h:427
LONG cLockObj
Definition: ntuser.h:1275
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:2356
BOOL NTAPI NtUserCloseClipboard(VOID)
Definition: clipboard.c:589
*nSize LPSTR _Inout_ LPDWORD nSize
Definition: winbase.h:2053
LONG NTSTATUS
Definition: precomp.h:26
struct tagHOOK * phkNext
Definition: ntuser.h:218
DWORD NTAPI NtUserGetInternalWindowPos(HWND hwnd, LPRECT rectWnd, LPPOINT ptIcon)
Definition: winpos.c:3232
PVOID pActCtx
Definition: ntuser.h:274
ULONG ulWidth
Definition: ntuser.h:356
DWORD WINAPI ImeGetImeMenuItems(HIMC, DWORD, DWORD, LPIMEMENUITEMINFOW, LPIMEMENUITEMINFOW, DWORD)
ULONG hTaskWow
Definition: ntuser.h:204
ULONG MaximumLength
Definition: ntuser.h:105
HANDLE HIMC
Definition: ntuser.h:8
LRESULT WINAPI ImeEscape(HIMC, UINT, LPVOID)
DWORD APIENTRY NtUserDbgWin32HeapFail(DWORD Unknown0, DWORD Unknown1)
Definition: ntstubs.c:285
static HDC
Definition: imagelist.c:92
ULONG_PTR CI_flags
Definition: ntuser.h:288
#define CALLBACK
Definition: compat.h:35
_In_ DWORD nLength
Definition: wincon.h:473
struct _REGISTER_SYSCLASS * PREGISTER_SYSCLASS
INT pxRight
Definition: ntuser.h:496
UINT cicur
Definition: ntuser.h:1143
LIST_ENTRY PropListHead
Definition: ntuser.h:688
LPWSTR pwszClientUnicodeMenuName
Definition: ntuser.h:468
HWND hWnd
Definition: settings.c:17
ULONG cch
Definition: ntuser.h:348
ULONG fInCancel
Definition: ntuser.h:431
WNDPROC pfnMessageWindowProc
Definition: ntuser.h:766
UINT Global
Definition: ntuser.h:562
#define CCHILDREN_SCROLLBAR
Definition: winuser.h:3720
struct tagOEMBITMAPINFO * POEMBITMAPINFO
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES IN DWORD IN DWORD IN DWORD IN DWORD Unknown6
Definition: conport.c:35
HKL hKL
Definition: ntuser.h:1194
struct tagIMEINFOEX IMEINFOEX
INT pos
Definition: ntuser.h:477
HANDLE HWND
Definition: compat.h:19
PWND spwnd
Definition: ntuser.h:1191
struct _WND * spwndActivePopup
Definition: ntuser.h:444
PSBINFO pSBInfo
Definition: ntuser.h:691
struct _WND WND
SHORT xHotspot
Definition: ntuser.h:1132
static HRGN hRgn
Definition: mapping.c:33
BOOL NTAPI NtUserGetScrollBarInfo(HWND hWnd, LONG idObject, PSCROLLBARINFO psbi)
Definition: scrollbar.c:1201
ULONG cyItem
Definition: ntuser.h:353
BOOL NTAPI NtUserRegisterRawInputDevices(IN PCRAWINPUTDEVICE pRawInputDevices, IN UINT uiNumDevices, IN UINT cbSize)
Definition: ntstubs.c:660
INT NTAPI NtUserInternalGetWindowText(HWND hWnd, LPWSTR lpString, INT nMaxCount)
Definition: window.c:4326
HMENU SystemMenu
Definition: ntuser.h:693
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:771
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:3141
ULONG yItem
Definition: ntuser.h:351
struct _WND * spwndNotify
Definition: ntuser.h:394
HBRUSH NTAPI NtUserGetControlBrush(HWND hwnd, HDC hdc, UINT ctlType)
Definition: misc.c:182
BOOL TimeToHide
Definition: ntuser.h:407
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:1134
BOOL NTAPI NtUserEndDeferWindowPosEx(HDWP WinPosInfo, DWORD Unknown1)
Definition: winpos.c:3162
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:64
uint32_t * LPUINT
Definition: typedefs.h:59
struct _CURICON_OBJECT * spcur
Definition: ntuser.h:555
ULONG fHierarchyDropped
Definition: ntuser.h:417
struct _SBWND SBWND
BOOL NTAPI NtUserFillWindow(HWND hWndPaint, HWND hWndPaint1, HDC hDC, HBRUSH hBrush)
Definition: painting.c:1702
USHORT dmLogPixels
Definition: ntuser.h:993
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:415
DWORD dwExpWinVer
Definition: ntuser.h:290
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:307
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:901
enum _GETCPD * PGETCPD
RECT rcClient
Definition: ntuser.h:682
#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:929
UINT uFlags
Definition: api.c:59
GLdouble u1
Definition: glext.h:8308
static HDC hdcSrc
Definition: xlate.c:32
HIMC hImc
Definition: ntuser.h:705
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:2356
static HWINEVENTHOOK(WINAPI *pSetWinEventHook)(DWORD
char * LPSTR
Definition: xmlstorage.h:182
struct _CLS * pclsClone
Definition: ntuser.h:547
_Out_ RTL_ATOM * Atom
Definition: class.h:54
WNDPROC pfnComboListBoxProc
Definition: ntuser.h:770
_CONSOLECONTROL
Definition: ntuser.h:1857
INT WSBflags
Definition: ntuser.h:482
ATOM atomContextHelpIdProp
Definition: ntuser.h:1023
struct _PFNCLIENT PFNCLIENT
BOOL NTAPI NtUserGetMenuBarInfo(HWND hwnd, LONG idObject, LONG idItem, PMENUBARINFO pmbi)
Definition: menu.c:5914
struct tagPOPUPMENU * PPOPUPMENU
#define BOOL
Definition: nt_native.h:43
HDC NTAPI NtUserGetDC(HWND hWnd)
Definition: windc.c:1013
MENUINFO CONST * LPCMENUINFO
Definition: winuser.h:3719
struct tagSBINFO * PSBINFO
struct _WND * spwndClipboardListener
Definition: ntuser.h:709
#define MAX_MB_STRINGS
Definition: ntuser.h:910
struct _REGISTER_SYSCLASS REGISTER_SYSCLASS
UNICODE_STRING lpstr
Definition: ntuser.h:361
RTL_ATOM atomClassName
Definition: ntuser.h:537
struct _PROCESSINFO * ppi
Definition: ntuser.h:26
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
WNDMSG awmControl[FNID_LAST - FNID_FIRST]
Definition: ntuser.h:1086
NTSTATUS NTAPI NtUserInitializeClientPfnArrays(PPFNCLIENT pfnClientA, PPFNCLIENT pfnClientW, PPFNCLIENTWORKER pfnClientWorker, HINSTANCE hmodUser)
Definition: ntstubs.c:120
struct _THREADINFO * ptiHooked
Definition: ntuser.h:223
struct _LARGE_ANSI_STRING LARGE_ANSI_STRING
struct tagDPISERVERINFO * PDPISERVERINFO
COLORREF argbSystem[NUM_SYSCOLORS]
Definition: ntuser.h:967
BOOL NTAPI NtUserEnableScrollBar(HWND hWnd, UINT wSBflags, UINT wArrows)
Definition: scrollbar.c:1311
BOOL APIENTRY NtUserPeekMessage(PMSG pMsg, HWND hWnd, UINT MsgFilterMin, UINT MsgFilterMax, UINT RemoveMsg)
Definition: message.c:2337
POINTL point
Definition: edittest.c:50
& rect
Definition: startmenu.cpp:1413
struct _CURICON_OBJECT * spicn
Definition: ntuser.h:554
WPARAM wParam
Definition: combotst.c:138
INT pxTop
Definition: ntuser.h:493
struct _PROCDESKHEAD * PPROCDESKHEAD
UINT NTAPI NtUserSendInput(UINT nInputs, LPINPUT pInput, INT cbSize)
Definition: input.c:707
PIMEUI pimeui
Definition: ntuser.h:1212
_OBI_TYPES
Definition: ntuser.h:928
ATOM atomNVClassName
Definition: ntuser.h:538
struct _SHAREDINFO SHAREDINFO
HFONT hFont
Definition: main.c:53
VOID(CALLBACK * TIMERPROC)(HWND, UINT, UINT_PTR, DWORD)
Definition: winuser.h:2872
struct _BROADCASTPARM BROADCASTPARM
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
BOOL NTAPI NtUserGetObjectInformation(HANDLE hObject, DWORD nIndex, PVOID pvInformation, DWORD nLength, PDWORD nLengthNeeded)
Definition: winsta.c:1079
struct _DESKTOP_CONSOLE_THREAD * PDESKTOP_CONSOLE_THREAD
DWORD NTAPI NtUserGetGuiResources(HANDLE hProcess, DWORD uiFlags)
Definition: misc.c:506
LRESULT(CALLBACK * HOOKPROC)(int, WPARAM, LPARAM)
Definition: winuser.h:2874
struct _PROPLISTITEM * PPROPLISTITEM
BOOL NTAPI NtUserEmptyClipboard(VOID)
Definition: clipboard.c:722
struct _SHAREDINFO * PSHAREDINFO
UINT wMaxBtnSize
Definition: ntuser.h:953
DWORD dwLastRITEventTickCount
Definition: ntuser.h:972
SBCALC SBCalc
Definition: ntuser.h:741
HBITMAP hbmUserAlpha
Definition: ntuser.h:1138
struct tagDDEPACK DDEPACK
struct _USER_HANDLE_TABLE * PUSER_HANDLE_TABLE
ULONG fTrackMouseEvent
Definition: ntuser.h:432
struct _THREADINFO * GetW32ThreadInfo(VOID)
Definition: misc.c:782
PCLIENTTHREADINFO pClientThreadInfo
Definition: ntuser.h:301
HBRUSH NTAPI NtUserGetControlColor(HWND hwndParent, HWND hwnd, HDC hdc, UINT CtlMsg)
Definition: misc.c:206
HDESK NTAPI NtUserCreateDesktop(POBJECT_ATTRIBUTES poa, PUNICODE_STRING lpszDesktopDevice, LPDEVMODEW lpdmw, DWORD dwFlags, ACCESS_MASK dwDesiredAccess)
Definition: desktop.c:2487
UINT uStr
Definition: ntuser.h:943
ULONG fShowTimer
Definition: ntuser.h:425
HWINSTA NTAPI NtUserOpenWindowStation(POBJECT_ATTRIBUTES ObjectAttributes, ACCESS_MASK dwDesiredAccess)
uint32_t ULONG_PTR
Definition: typedefs.h:65
struct _CALLPROCDATA * spcpdNext
Definition: ntuser.h:520
GETCPD wType
Definition: ntuser.h:522