#ifndef __WIN32K_NTUSER_H
#define __WIN32K_NTUSER_H
-#include <ddk/ntapi.h>
-
-#define WM_SYSTIMER 280
ULONG STDCALL
NtUserGetSystemMetrics(ULONG Index);
DWORD BufferSize,
DWORD *Count);
+enum {
+ HWND_ROUTINE_REGISTERSHELLHOOKWINDOW,
+ HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW
+};
+
DWORD
STDCALL
NtUserCallHwnd(
DWORD Unknown1,
DWORD Unknown2);
-DWORD
+BOOL
STDCALL
NtUserCallMsgFilter(
- DWORD Unknown0,
- DWORD Unknown1);
-
+ LPMSG msg,
+ INT code);
+
LRESULT
STDCALL
NtUserCallNextHookEx(
WPARAM wParam,
LPARAM lParam);
-#define NOPARAM_ROUTINE_REGISTER_PRIMITIVE 0xffff0001 /* Private ROS */
-#define NOPARAM_ROUTINE_DESTROY_CARET 0xffff0002
-#define NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP 0xffff0003
-#define NOPARAM_ROUTINE_INIT_MESSAGE_PUMP 0xffff0004
-#define NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO 0xffff0005
-#define NOPARAM_ROUTINE_ANYPOPUP 0xffff0006
-#define NOPARAM_ROUTINE_CSRSS_INITIALIZED 0xffff0007
+#define NOPARAM_ROUTINE_MSQCLEARWAKEMASK 0x3
+#define NOPARAM_ROUTINE_REGISTER_PRIMITIVE 0xffff0001 /* Private ROS */
+#define NOPARAM_ROUTINE_DESTROY_CARET 0xffff0002
+#define NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP 0xffff0003
+#define NOPARAM_ROUTINE_INIT_MESSAGE_PUMP 0xffff0004
+#define NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO 0xffff0005
+#define NOPARAM_ROUTINE_ANYPOPUP 0xffff0006
+#define NOPARAM_ROUTINE_CSRSS_INITIALIZED 0xffff0007
DWORD
STDCALL
NtUserCallNoParam(
#define ONEPARAM_ROUTINE_GETCARETINFO 0x07
#define ONEPARAM_ROUTINE_SWITCHCARETSHOWING 0x08
#define ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS 0x09
-#define ONEPARAM_ROUTINE_GETWINDOWINSTANCE 0x10
#define ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO 0x0a
#define ONEPARAM_ROUTINE_GETCURSORPOSITION 0x0b
#define ONEPARAM_ROUTINE_ISWINDOWINDESTROY 0x0c
#define ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING 0x0d
+#define ONEPARAM_ROUTINE_GETWINDOWINSTANCE 0x10
+#define ONEPARAM_ROUTINE_MSQSETWAKEMASK 0x27
+#define ONEPARAM_ROUTINE_GETKEYBOARDTYPE 0x28
+#define ONEPARAM_ROUTINE_GETKEYBOARDLAYOUT 0x29
DWORD
STDCALL
NtUserCallOneParam(
#define TWOPARAM_ROUTINE_UNKNOWN 0x54
#define TWOPARAM_ROUTINE_SHOWOWNEDPOPUPS 0x55
#define TWOPARAM_ROUTINE_SWITCHTOTHISWINDOW 0x56
-#define TWOPARAM_ROUTINE_VALIDATERGN 0x57
#define TWOPARAM_ROUTINE_SETWNDCONTEXTHLPID 0x58
#define TWOPARAM_ROUTINE_SETCARETPOS 0x60
#define TWOPARAM_ROUTINE_GETWINDOWINFO 0x61
#define TWOPARAM_ROUTINE_REGISTERLOGONPROC 0x62
+#define TWOPARAM_ROUTINE_GETSYSCOLORBRUSHES 0x63
+#define TWOPARAM_ROUTINE_GETSYSCOLORPENS 0x64
+#define TWOPARAM_ROUTINE_GETSYSCOLORS 0x65
+#define TWOPARAM_ROUTINE_SETSYSCOLORS 0x66
+#define TWOPARAM_ROUTINE_ROS_SHOWWINDOW 0x1000
DWORD
STDCALL
NtUserCallTwoParam(
PDISPLAY_DEVICE lpDisplayDevice, /* device information */
DWORD dwFlags ); /* reserved */
-BOOL
+/*BOOL
STDCALL
NtUserEnumDisplayMonitors (
HDC hdc,
LPCRECT lprcClip,
MONITORENUMPROC lpfnEnum,
- LPARAM dwData );
+ LPARAM dwData );*/
+
+#define MONITORINFOF_PRIMARY 1
+#define MONITOR_DEFAULTTONULL 0
+#define MONITOR_DEFAULTTOPRIMARY 1
+#define MONITOR_DEFAULTTONEAREST 2
+INT
+STDCALL
+NtUserEnumDisplayMonitors(
+ OPTIONAL IN HDC hDC,
+ OPTIONAL IN LPCRECT pRect,
+ OPTIONAL OUT HMONITOR *hMonitorList,
+ OPTIONAL OUT LPRECT monitorRectList,
+ OPTIONAL IN DWORD listSize );
+
BOOL
STDCALL
DWORD Unknown1,
DWORD Unknown2);
+HKL
+STDCALL
+NtUserGetKeyboardLayout(
+ DWORD dwThreadid);
+
DWORD
STDCALL
NtUserGetKeyboardLayoutList(
DWORD
STDCALL
-NtUserGetKeyNameText( LONG lParam, LPWSTR lpString, int nSize );
+NtUserGetKeyboardType(
+ DWORD TypeFlag);
+DWORD
+STDCALL
+NtUserGetKeyNameText( LONG lParam, LPWSTR lpString, int nSize );
+
DWORD
STDCALL
NtUserGetKeyState(
UINT wMsgFilterMin,
UINT wMsgFilterMax);
+BOOL
+STDCALL
+NtUserGetMonitorInfo(
+ IN HMONITOR hMonitor,
+ OUT LPMONITORINFO pMonitorInfo);
+
DWORD
STDCALL
NtUserGetMouseMovePointsEx(
DWORD Unknown0,
DWORD Unknown1);
-BOOL
-STDCALL
-NtUserHideCaret(
- HWND hWnd);
-
DWORD
STDCALL
NtUserImpersonateDdeClientWindow(
LPWSTR lpString,
INT nMaxCount);
-DWORD
-STDCALL
-NtUserInvalidateRect(
-HWND hWnd,
-CONST RECT *lpRect,
-BOOL bErase);
-
-DWORD
-STDCALL
- NtUserInvalidateRgn(
- HWND hWnd,
- HRGN hRgn,
- BOOL bErase);
-
BOOL
STDCALL
DWORD Unknown0,
DWORD Unknown1);
+HMONITOR
+STDCALL
+NtUserMonitorFromPoint(
+ IN POINT point,
+ IN DWORD dwFlags);
+
+HMONITOR
+STDCALL
+NtUserMonitorFromRect(
+ IN LPCRECT pRect,
+ IN DWORD dwFlags);
+
+HMONITOR
+STDCALL
+NtUserMonitorFromWindow(
+ IN HWND hWnd,
+ IN DWORD dwFlags);
+
+
BOOL
STDCALL
NtUserMoveWindow(
PUNICODE_STRING MenuName,
WNDPROC wpExtra,
DWORD Flags,
- DWORD Unknown7);
+ DWORD Unknown7,
+ HMENU hMenu);
BOOL
STDCALL
BOOL
STDCALL
NtUserShowCaret(
- HWND hWnd);
+ HWND hWnd,
+ BOOL bShow);
DWORD
STDCALL
HWND hWnd,
LONG nCmdShow);
-DWORD
+BOOL
STDCALL
NtUserShowWindowAsync(
- DWORD Unknown0,
- DWORD Unknown1);
+ HWND hWnd,
+ LONG nCmdShow);
BOOL
STDCALL
DWORD Unknown1,
DWORD Unknown2);
-BOOL STDCALL
-NtUserUpdateWindow( HWND hWnd );
-
DWORD
STDCALL
NtUserUpdateLayeredWindow(
DWORD Unknown7,
DWORD Unknown8);
-DWORD
+BOOL
STDCALL
NtUserUpdatePerUserSystemParameters(
- DWORD Unknown0,
- DWORD Unknown1);
+ DWORD dwReserved,
+ BOOL bEnable);
DWORD
STDCALL
NtUserValidateHandleSecure(
DWORD Unknown0);
-VOID STDCALL
-NtUserValidateRect(HWND Wnd, const RECT* Rect);
-
-
DWORD
STDCALL
NtUserVkKeyScanEx(
} Value;
} KMDDELPARAM, *PKMDDELPARAM;
+typedef struct _GDI_TABLE_ENTRY
+{
+ PVOID KernelData; /* Points to the kernel mode structure */
+ HANDLE ProcessId; /* process id that created the object, 0 for stock objects */
+ LONG Type; /* the first 16 bit is the object type including the stock obj flag, the last 16 bits is just the object type */
+ PVOID UserData; /* Points to the user mode structure, usually NULL though */
+} GDI_TABLE_ENTRY, *PGDI_TABLE_ENTRY;
+
#endif /* __WIN32K_NTUSER_H */
/* EOF */