#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;
SBCALC SBCalc;
} SBWND, *PSBWND;
+typedef struct _MDIWND
+{
+ WND wnd;
+ DWORD dwReserved;
+ PVOID pmdi;
+} MDIWND, *PMDIWND;
+
+#define GWLP_MDIWND 4
+
typedef struct _MENUWND
{
WND wnd;
HANDLE Data;
} PROPLISTITEM, *PPROPLISTITEM;
+#define PROPERTY_FLAG_SYSTEM 1
+
typedef struct _PROPERTY
{
LIST_ENTRY PropListEntry;
DWORD
NTAPI
NtUserCalcMenuBar(
- DWORD dwUnknown1,
- DWORD dwUnknown2,
- DWORD dwUnknown3,
- DWORD dwUnknown4,
- DWORD dwUnknown5);
+ HWND hwnd,
+ DWORD x,
+ DWORD width,
+ DWORD y,
+ LPRECT prc);
DWORD
NTAPI
NtUserChangeDisplaySettings(
PUNICODE_STRING lpszDeviceName,
LPDEVMODEW lpDevMode,
- DWORD dwflags);
+ DWORD dwflags,
+ LPVOID lParam);
BOOL
NTAPI
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, // x,
+ ULONG right, // width, // Scale the edge thickness, offset?
+ ULONG top, // y,
+ BOOL bActive); // DWORD Flags); DC_ACTIVE or WS_ACTIVECAPTION, by checking WNDS_ACTIVEFRAME and foreground.
BOOL
APIENTRY
NtUserRegisterClassExWOW(
WNDCLASSEXW* lpwcx,
PUNICODE_STRING pustrClassName,
- PUNICODE_STRING pustrCNVersion,
+ PUNICODE_STRING pustrCVersion,
PCLSMENUNAME pClassMenuName,
DWORD fnID,
DWORD Flags,