[SDK] -Add the prototype of PaintMenuBar and update the prototype of NtUserPaintMenuBar.
[reactos.git] / reactos / win32ss / include / ntuser.h
index 11994f3..0bfbc0a 100644 (file)
@@ -13,7 +13,8 @@ typedef HANDLE HIMC;
 #define FIRST_USER_HANDLE 0x0020 /* first possible value for low word of user handle */
 #define LAST_USER_HANDLE 0xffef /* last possible value for low word of user handle */
 
-#define HANDLEENTRY_INDESTROY 1
+#define HANDLEENTRY_DESTROY 1
+#define HANDLEENTRY_INDESTROY 2
 
 typedef struct _USER_HANDLE_ENTRY
 {
@@ -140,6 +141,7 @@ typedef struct _DESKTOPINFO
     HWND hProgmanWindow;
     HWND hShellWindow;
     struct _WND *spwndShell;
+    struct _WND *spwndBkGnd;
 
     struct _PROCESSINFO *ppiShellProcess;
 
@@ -375,6 +377,9 @@ typedef struct tagMENULIST
 /* Hack */
 #define MNF_SYSMENU    0x0200
 
+/* (other FocusedItem values give the position of the focused item) */
+#define NO_SELECTED_ITEM 0xffff
+
 typedef struct tagMENU
 {
     PROCDESKHEAD head;
@@ -727,6 +732,15 @@ typedef struct _SBWND
     SBCALC SBCalc;
 } SBWND, *PSBWND;
 
+typedef struct _MDIWND
+{
+  WND wnd;
+  DWORD dwReserved;
+  PVOID pmdi;
+} MDIWND, *PMDIWND;
+
+#define GWLP_MDIWND 4
+
 typedef struct _MENUWND
 {
     WND wnd;
@@ -902,6 +916,17 @@ typedef struct tagOEMBITMAPINFO
     INT cy;
 } OEMBITMAPINFO, *POEMBITMAPINFO;
 
+typedef enum _OBI_TYPES
+{
+    OBI_CLOSE = 0,
+    OBI_UPARROW = 46,
+    OBI_UPARROWI = 49,
+    OBI_DNARROW = 50,
+    OBI_DNARROWI = 53,
+    OBI_MNARROW = 62,
+    OBI_CTYPES = 93
+} OBI_TYPES;
+
 typedef struct tagMBSTRING
 {
     WCHAR szName[16];
@@ -953,7 +978,7 @@ typedef struct _PERUSERSERVERINFO
     DWORD dwKeyCache;
     DWORD dwAsyncKeyCache;
     ULONG cCaptures;
-    OEMBITMAPINFO oembmi[93];
+    OEMBITMAPINFO oembmi[OBI_CTYPES];
     RECT rcScreenReal;
     USHORT BitCount;
     USHORT dmLogPixels;
@@ -1015,6 +1040,8 @@ typedef struct _PROPLISTITEM
     HANDLE Data;
 } PROPLISTITEM, *PPROPLISTITEM;
 
+#define PROPERTY_FLAG_SYSTEM 1
+
 typedef struct _PROPERTY
 {
     LIST_ENTRY PropListEntry;
@@ -1204,6 +1231,18 @@ NtUserCtxDisplayIOCtl(
     DWORD dwUnknown1,
     DWORD dwUnknown2,
     DWORD dwUnknown3);
+    
+DWORD
+APIENTRY
+NtUserDbgWin32HeapFail(
+    DWORD Unknown0,
+    DWORD Unknown1);
+
+DWORD
+APIENTRY
+NtUserDbgWin32HeapStat(
+    DWORD Unknown0,
+    DWORD Unknown1);
 
 BOOL
 NTAPI
@@ -1670,7 +1709,6 @@ NTAPI
 NtUserChangeDisplaySettings(
     PUNICODE_STRING lpszDeviceName,
     LPDEVMODEW lpDevMode,
-    HWND hwnd,
     DWORD dwflags,
     LPVOID lParam);
 
@@ -2025,7 +2063,7 @@ NTAPI
 NtUserEvent(
     DWORD Unknown0);
 
-DWORD
+INT
 NTAPI
 NtUserExcludeUpdateRgn(
     HDC hDC,
@@ -2432,7 +2470,7 @@ NtUserGetUpdateRect(
     LPRECT lpRect,
     BOOL fErase);
 
-int
+INT
 NTAPI
 NtUserGetUpdateRgn(
     HWND hWnd,
@@ -2675,12 +2713,12 @@ NtUserPaintDesktop(
 DWORD
 NTAPI
 NtUserPaintMenuBar(
-    DWORD dwUnknown1,
-    DWORD dwUnknown2,
-    DWORD dwUnknown3,
-    DWORD dwUnknown4,
-    DWORD dwUnknown5,
-    DWORD dwUnknown6);
+    HWND hWnd,
+    HDC hDC,
+    ULONG left,
+    ULONG right,
+    ULONG top,
+    BOOL bActive);
 
 BOOL
 APIENTRY
@@ -2799,7 +2837,7 @@ NTAPI
 NtUserRegisterClassExWOW(
     WNDCLASSEXW* lpwcx,
     PUNICODE_STRING pustrClassName,
-    PUNICODE_STRING pustrCNVersion,
+    PUNICODE_STRING pustrCVersion,
     PCLSMENUNAME pClassMenuName,
     DWORD fnID,
     DWORD Flags,
@@ -3012,6 +3050,11 @@ NTAPI
 NtUserSetDbgTag(
     DWORD Unknown0,
     DWORD Unknown1);
+    
+DWORD
+APIENTRY
+NtUserSetDbgTagCount(
+    DWORD Unknown0);
 
 HWND
 NTAPI
@@ -3109,8 +3152,7 @@ NtUserSetProp(
 DWORD
 NTAPI
 NtUserSetRipFlags(
-    DWORD Unknown0,
-    DWORD Unknown1);
+    DWORD Unknown0);
 
 DWORD
 NTAPI
@@ -3416,8 +3458,7 @@ NtUserUserHandleGrantAccess(
 BOOL
 NTAPI
 NtUserValidateHandleSecure(
-    HANDLE hHdl,
-    BOOL Restricted);
+    HANDLE hHdl);
 
 BOOL
 NTAPI
@@ -3428,8 +3469,6 @@ NtUserValidateRect(
 BOOL
 APIENTRY
 NtUserValidateTimerCallback(
-    HWND hWnd,
-    WPARAM wParam,
     LPARAM lParam);
 
 DWORD
@@ -3504,58 +3543,6 @@ NtUserGetMonitorInfo(
 
 /* Should be done in usermode */
 
-/* (other FocusedItem values give the position of the focused item) */
-#define NO_SELECTED_ITEM 0xffff
-
-typedef struct tagROSMENUINFO
-{
-    /* ----------- MENUINFO ----------- */
-    DWORD cbSize;
-    DWORD fMask;
-    DWORD dwStyle;
-    UINT cyMax;
-    HBRUSH  hbrBack;
-    DWORD dwContextHelpID;
-    ULONG_PTR dwMenuData;
-    /* ----------- Extra ----------- */
-    ULONG fFlags; /* Menu flags (MF_POPUP, MF_SYSMENU) */
-    UINT iItem; /* Currently focused item */
-    UINT cItems; /* Number of items in the menu */
-    WORD cxMenu; /* Width of the whole menu */
-    WORD cyMenu; /* Height of the whole menu */
-    ULONG cxTextAlign;
-    PWND spwndNotify; /* window receiving the messages for ownerdraw */
-    INT iTop;
-    INT iMaxTop;
-    DWORD dwArrowsOn:2;
-
-    HMENU Self; /* Handle of this menu */
-    HWND Wnd; /* Window containing the menu */
-    BOOL TimeToHide; /* Request hiding when receiving a second click in the top-level menu item */
-} ROSMENUINFO, *PROSMENUINFO;
-
-typedef struct tagROSMENUITEMINFO
-{
-    /* ----------- MENUITEMINFOW ----------- */
-    UINT cbSize;
-    UINT fMask;
-    UINT fType;
-    UINT fState;
-    UINT wID;
-    HMENU hSubMenu;
-    HBITMAP hbmpChecked;
-    HBITMAP hbmpUnchecked;
-    DWORD dwItemData;
-    LPWSTR dwTypeData;
-    UINT cch;
-    HBITMAP hbmpItem;
-    /* ----------- Extra ----------- */
-    RECT Rect; /* Item area (relative to menu window) */
-    UINT dxTab; /* X position of text after Tab */
-    LPWSTR lpstr; /* Copy of the text pointer in MenuItem->Text */
-    SIZE maxBmpSize; /* Maximum size of the bitmap items in MIIM_BITMAP state */
-} ROSMENUITEMINFO, *PROSMENUITEMINFO;
-
 HMONITOR
 NTAPI
 NtUserMonitorFromPoint(