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