#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
{
HWND hProgmanWindow;
HWND hShellWindow;
struct _WND *spwndShell;
+ struct _WND *spwndBkGnd;
struct _PROCESSINFO *ppiShellProcess;
/* 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;
SBCALC SBCalc;
} SBWND, *PSBWND;
+typedef struct _MDIWND
+{
+ WND wnd;
+ DWORD dwReserved;
+ PVOID pmdi;
+} MDIWND, *PMDIWND;
+
+#define GWLP_MDIWND 4
+
typedef struct _MENUWND
{
WND wnd;
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];
DWORD dwKeyCache;
DWORD dwAsyncKeyCache;
ULONG cCaptures;
- OEMBITMAPINFO oembmi[93];
+ OEMBITMAPINFO oembmi[OBI_CTYPES];
RECT rcScreenReal;
USHORT BitCount;
USHORT dmLogPixels;
HANDLE Data;
} PROPLISTITEM, *PPROPLISTITEM;
+#define PROPERTY_FLAG_SYSTEM 1
+
typedef struct _PROPERTY
{
LIST_ENTRY PropListEntry;
DWORD dwUnknown1,
DWORD dwUnknown2,
DWORD dwUnknown3);
+
+DWORD
+APIENTRY
+NtUserDbgWin32HeapFail(
+ DWORD Unknown0,
+ DWORD Unknown1);
+
+DWORD
+APIENTRY
+NtUserDbgWin32HeapStat(
+ DWORD Unknown0,
+ DWORD Unknown1);
BOOL
NTAPI
NtUserChangeDisplaySettings(
PUNICODE_STRING lpszDeviceName,
LPDEVMODEW lpDevMode,
- HWND hwnd,
DWORD dwflags,
LPVOID lParam);
NtUserEvent(
DWORD Unknown0);
-DWORD
+INT
NTAPI
NtUserExcludeUpdateRgn(
HDC hDC,
LPRECT lpRect,
BOOL fErase);
-int
+INT
NTAPI
NtUserGetUpdateRgn(
HWND hWnd,
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
NtUserRegisterClassExWOW(
WNDCLASSEXW* lpwcx,
PUNICODE_STRING pustrClassName,
- PUNICODE_STRING pustrCNVersion,
+ PUNICODE_STRING pustrCVersion,
PCLSMENUNAME pClassMenuName,
DWORD fnID,
DWORD Flags,
NtUserSetDbgTag(
DWORD Unknown0,
DWORD Unknown1);
+
+DWORD
+APIENTRY
+NtUserSetDbgTagCount(
+ DWORD Unknown0);
HWND
NTAPI
DWORD
NTAPI
NtUserSetRipFlags(
- DWORD Unknown0,
- DWORD Unknown1);
+ DWORD Unknown0);
DWORD
NTAPI
BOOL
NTAPI
NtUserValidateHandleSecure(
- HANDLE hHdl,
- BOOL Restricted);
+ HANDLE hHdl);
BOOL
NTAPI
BOOL
APIENTRY
NtUserValidateTimerCallback(
- HWND hWnd,
- WPARAM wParam,
LPARAM lParam);
DWORD
/* 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(