#ifndef __WIN32K_NTUSER_H
#define __WIN32K_NTUSER_H
+
ULONG STDCALL
NtUserGetSystemMetrics(ULONG Index);
DWORD Unknown6,
DWORD Unknown7);
-DWORD
+BOOL
STDCALL
NtUserBlockInput(
- DWORD Unknown0);
+ BOOL BlockIt);
ULONG
STDCALL
HWND* pWnd,
ULONG nBufSize);
-DWORD
-STDCALL
-NtUserBuildMenuItemList(
- HMENU hMenu,
- PVOID Buffer,
- ULONG nBufSize,
- DWORD Reserved);
-
-
-DWORD
-STDCALL
+NTSTATUS STDCALL
NtUserBuildNameList(
- DWORD Unknown0,
- DWORD Unknown1,
- DWORD Unknown2,
- DWORD Unknown3);
+ HWINSTA hWinSta,
+ ULONG dwSize,
+ PVOID lpBuffer,
+ PULONG pRequiredSize);
-DWORD
+NTSTATUS
STDCALL
NtUserBuildPropList(
- DWORD Unknown0,
- DWORD Unknown1,
- DWORD Unknown2,
- DWORD Unknown3);
+ HWND hWnd,
+ LPVOID Buffer,
+ DWORD BufferSize,
+ DWORD *Count);
+
+enum {
+ HWND_ROUTINE_REGISTERSHELLHOOKWINDOW,
+ HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW
+};
DWORD
STDCALL
DWORD Unknown0,
DWORD Unknown1);
+#define HWNDLOCK_ROUTINE_ARRANGEICONICWINDOWS 0x54
+#define HWNDLOCK_ROUTINE_DRAWMENUBAR 0x55
+#define HWNDLOCK_ROUTINE_REDRAWFRAME 0x58
+#define HWNDLOCK_ROUTINE_SETFOREGROUNDWINDOW 0x5B
+#define HWNDLOCK_ROUTINE_UPDATEWINDOW 0x5E
BOOL
STDCALL
NtUserCallHwndLock(
HWND hWnd,
- DWORD Unknown1);
+ DWORD Routine);
-DWORD
+#define HWNDOPT_ROUTINE_SETPROGMANWINDOW 0x4A
+#define HWNDOPT_ROUTINE_SETTASKMANWINDOW 0x4B
+HWND
STDCALL
NtUserCallHwndOpt(
- DWORD Unknown0,
- DWORD Unknown1);
+ HWND Param,
+ DWORD Routine);
DWORD
STDCALL
DWORD Unknown1,
DWORD Unknown2);
-DWORD
+BOOL
STDCALL
NtUserCallMsgFilter(
- DWORD Unknown0,
- DWORD Unknown1);
-
-DWORD
+ LPMSG msg,
+ INT code);
+
+LRESULT
STDCALL
NtUserCallNextHookEx(
- DWORD Unknown0,
- DWORD Unknown1,
- DWORD Unknown2,
- DWORD Unknown3);
+ HHOOK Hook,
+ int Code,
+ WPARAM wParam,
+ LPARAM lParam);
-#define NOPARAM_ROUTINE_REGISTER_PRIMITIVE 0xffff0001 /* Private ROS */
-#define NOPARAM_ROUTINE_DESTROY_CARET 0xffff0002
+#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(
DWORD Routine);
-#define ONEPARAM_ROUTINE_GETMENU 0x01
-#define ONEPARAM_ROUTINE_ISWINDOWUNICODE 0x02
-#define ONEPARAM_ROUTINE_WINDOWFROMDC 0x03
-#define ONEPARAM_ROUTINE_GETWNDCONTEXTHLPID 0x04
-#define ONEPARAM_ROUTINE_SWAPMOUSEBUTTON 0x05
-#define ONEPARAM_ROUTINE_SETCARETBLINKTIME 0x06
-#define ONEPARAM_ROUTINE_GETCARETINFO 0x07
-#define ONEPARAM_ROUTINE_SWITCHCARETSHOWING 0x08
+#define ONEPARAM_ROUTINE_GETMENU 0x01
+#define ONEPARAM_ROUTINE_ISWINDOWUNICODE 0x02
+#define ONEPARAM_ROUTINE_WINDOWFROMDC 0x03
+#define ONEPARAM_ROUTINE_GETWNDCONTEXTHLPID 0x04
+#define ONEPARAM_ROUTINE_SWAPMOUSEBUTTON 0x05
+#define ONEPARAM_ROUTINE_SETCARETBLINKTIME 0x06
+#define ONEPARAM_ROUTINE_GETCARETINFO 0x07
+#define ONEPARAM_ROUTINE_SWITCHCARETSHOWING 0x08
+#define ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS 0x09
+#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(
DWORD Param,
DWORD Routine);
+#define TWOPARAM_ROUTINE_SETDCPENCOLOR 0x45
+#define TWOPARAM_ROUTINE_SETDCBRUSHCOLOR 0x46
+#define TWOPARAM_ROUTINE_GETDCCOLOR 0x47
+#define TWOPARAM_ROUTINE_GETWINDOWRGNBOX 0x48
+#define TWOPARAM_ROUTINE_GETWINDOWRGN 0x49
+#define TWOPARAM_ROUTINE_SETMENUBARHEIGHT 0x50
+#define TWOPARAM_ROUTINE_SETMENUITEMRECT 0x51
+#define TWOPARAM_ROUTINE_SETGUITHRDHANDLE 0x52
+ #define MSQ_STATE_CAPTURE 0x1
+ #define MSQ_STATE_ACTIVE 0x2
+ #define MSQ_STATE_FOCUS 0x3
+ #define MSQ_STATE_MENUOWNER 0x4
+ #define MSQ_STATE_MOVESIZE 0x5
+ #define MSQ_STATE_CARET 0x6
#define TWOPARAM_ROUTINE_ENABLEWINDOW 0x53
#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_CURSORPOSITION 0x59
#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(
DWORD Param2,
DWORD Routine);
-DWORD
+BOOL
STDCALL
NtUserChangeClipboardChain(
- DWORD Unknown0,
- DWORD Unknown1);
+ HWND hWndRemove,
+ HWND hWndNewNext);
LONG
STDCALL
DWORD dwflags,
LPVOID lParam);
-DWORD
-STDCALL
-NtUserCheckMenuItem(
- HMENU hmenu,
- UINT uIDCheckItem,
- UINT uCheck);
-
-DWORD STDCALL
+HWND STDCALL
NtUserChildWindowFromPointEx(HWND Parent,
LONG x,
LONG y,
NtUserClipCursor(
RECT *lpRect);
-DWORD
+BOOL
STDCALL
NtUserCloseClipboard(VOID);
HACCEL
STDCALL
NtUserCreateAcceleratorTable(
- LPACCEL Entries,
+ LPACCEL Entries,
SIZE_T EntriesCount);
BOOL
int nWidth,
int nHeight);
-HICON
+HANDLE
STDCALL
NtUserCreateCursorIconHandle(
PICONINFO IconInfo,
DWORD Unknown2,
DWORD Unknown3);
-HMENU
-STDCALL
-NtUserCreateMenu(VOID);
-
HWND
STDCALL
NtUserCreateWindowEx(
int cy,
UINT Flags);
BOOL STDCALL
-NtUserDefSetText(HWND WindowHandle, PANSI_STRING Text);
-
-BOOL
-STDCALL
-NtUserDeleteMenu(
- HMENU hMenu,
- UINT uPosition,
- UINT uFlags);
+NtUserDefSetText(HWND WindowHandle, PUNICODE_STRING WindowText);
-BOOL
+BOOLEAN
STDCALL
NtUserDestroyAcceleratorTable(
HACCEL Table);
BOOL
STDCALL
-NtUserDestroyCursor(
- HCURSOR hCursor,
+NtUserDestroyCursorIcon(
+ HANDLE Handle,
DWORD Unknown);
-BOOL
-STDCALL
-NtUserDestroyMenu(
- HMENU hMenu);
-
BOOLEAN STDCALL
NtUserDestroyWindow(HWND Wnd);
+typedef struct tagNTUSERDISPATCHMESSAGEINFO
+{
+ BOOL HandledByKernel;
+ BOOL Ansi;
+ WNDPROC Proc;
+ MSG Msg;
+} NTUSERDISPATCHMESSAGEINFO, *PNTUSERDISPATCHMESSAGEINFO;
+
LRESULT
STDCALL
-NtUserDispatchMessage(CONST MSG* lpmsg);
+NtUserDispatchMessage(PNTUSERDISPATCHMESSAGEINFO MsgInfo);
BOOL
STDCALL
DWORD Unknown0,
DWORD Unknown1);
-DWORD
-STDCALL
-NtUserDrawMenuBarTemp(
- HWND hWnd,
- HDC hDC,
- PRECT hRect,
- HMENU hMenu,
- HFONT hFont);
-
DWORD
STDCALL
NtUserEmptyClipboard(VOID);
-UINT
-STDCALL
-NtUserEnableMenuItem(
- HMENU hMenu,
- UINT uIDEnableItem,
- UINT uEnable);
-
-DWORD
-STDCALL
-NtUserInsertMenuItem(
- HMENU hMenu,
- UINT uItem,
- WINBOOL fByPosition,
- LPCMENUITEMINFOW lpmii);
-
-
BOOL
STDCALL
NtUserEnableScrollBar(
DWORD Unknown0,
DWORD Unknown1);
-BOOL
-STDCALL
-NtUserEndMenu(VOID);
-
BOOL STDCALL
NtUserEndPaint(HWND hWnd, CONST PAINTSTRUCT* lPs);
-WINBOOL
+BOOL
STDCALL
NtUserEnumDisplayDevices (
PUNICODE_STRING lpDevice, /* device name */
PDISPLAY_DEVICE lpDisplayDevice, /* device information */
DWORD dwFlags ); /* reserved */
-WINBOOL
+/*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 );
+
-WINBOOL
+BOOL
STDCALL
NtUserEnumDisplaySettings(
PUNICODE_STRING lpszDeviceName,
STDCALL
NtUserFindExistingCursorIcon(
HMODULE hModule,
- HRSRC hRsrc);
+ HRSRC hRsrc,
+ LONG cx,
+ LONG cy);
HWND
STDCALL
LPWSTR lpClassName,
ULONG nMaxCount);
-DWORD
+HANDLE
STDCALL
NtUserGetClipboardData(
- DWORD Unknown0,
+ UINT uFormat,
DWORD Unknown1);
-DWORD
+INT
STDCALL
NtUserGetClipboardFormatName(
- DWORD Unknown0,
- DWORD Unknown1,
- DWORD Unknown2);
+ UINT format,
+ PUNICODE_STRING FormatName,
+ INT cchMaxCount);
-DWORD
+HWND
STDCALL
NtUserGetClipboardOwner(VOID);
STDCALL
NtUserGetClipboardSequenceNumber(VOID);
-DWORD
+HWND
STDCALL
NtUserGetClipboardViewer(VOID);
NtUserGetCursorInfo(
PCURSORINFO pci);
-UINT STDCALL
-NtUserGetMenuDefaultItem(
- HMENU hMenu,
- UINT fByPos,
- UINT gmdiFlags);
-
-HDC STDCALL
-NtUserGetDC(HWND hWnd);
+HDC
+STDCALL
+NtUserGetDC(
+ HWND hWnd);
-HDC STDCALL NtUserGetDCEx(HWND hWnd, HANDLE hRegion, ULONG Flags);
+HDC
+STDCALL
+NtUserGetDCEx(
+ HWND hWnd,
+ HANDLE hRegion,
+ ULONG Flags);
UINT
STDCALL
NtUserGetDoubleClickTime(VOID);
-DWORD
+HWND
STDCALL
NtUserGetForegroundWindow(VOID);
BOOL
STDCALL
-NtUserGetIconInfo(
- HICON hIcon,
+NtUserGetCursorIconInfo(
+ HANDLE Handle,
PICONINFO IconInfo);
BOOL
STDCALL
-NtUserGetIconSize(
- HICON hIcon,
+NtUserGetCursorIconSize(
+ HANDLE Handle,
BOOL *fIcon,
SIZE *Size);
DWORD Unknown1,
DWORD Unknown2);
+HKL
+STDCALL
+NtUserGetKeyboardLayout(
+ DWORD dwThreadid);
+
DWORD
STDCALL
NtUserGetKeyboardLayoutList(
DWORD Unknown0,
DWORD Unknown1);
-DWORD
+BOOL
STDCALL
NtUserGetKeyboardLayoutName(
- DWORD Unknown0);
+ LPWSTR lpszName);
DWORD
STDCALL
DWORD
STDCALL
-NtUserGetKeyNameText( LONG lParam, LPWSTR lpString, int nSize );
+NtUserGetKeyboardType(
+ DWORD TypeFlag);
+DWORD
+STDCALL
+NtUserGetKeyNameText( LONG lParam, LPWSTR lpString, int nSize );
+
DWORD
STDCALL
NtUserGetKeyState(
NtUserGetListBoxInfo(
DWORD Unknown0);
-BOOL
-STDCALL
-NtUserGetMenuBarInfo(
- HWND hwnd,
- LONG idObject,
- LONG idItem,
- PMENUBARINFO pmbi);
-
-UINT
-STDCALL
-NtUserGetMenuIndex(
- HMENU hMenu,
- UINT wID);
-
-BOOL
-STDCALL
-NtUserGetMenuItemRect(
- HWND hWnd,
- HMENU hMenu,
- UINT uItem,
- LPRECT lprcItem);
+typedef struct tagNTUSERGETMESSAGEINFO
+{
+ MSG Msg;
+ ULONG LParamSize;
+} NTUSERGETMESSAGEINFO, *PNTUSERGETMESSAGEINFO;
BOOL
STDCALL
NtUserGetMessage(
- LPMSG lpMsg,
+ PNTUSERGETMESSAGEINFO MsgInfo,
HWND hWnd,
UINT wMsgFilterMin,
UINT wMsgFilterMax);
+BOOL
+STDCALL
+NtUserGetMonitorInfo(
+ IN HMONITOR hMonitor,
+ OUT LPMONITORINFO pMonitorInfo);
+
DWORD
STDCALL
NtUserGetMouseMovePointsEx(
DWORD nLength,
PDWORD nLengthNeeded);
-DWORD
+HWND
STDCALL
NtUserGetOpenClipboardWindow(VOID);
-DWORD
+INT
STDCALL
NtUserGetPriorityClipboardFormat(
- DWORD Unknown0,
- DWORD Unknown1);
+ UINT *paFormatPriorityList,
+ INT cFormats);
HWINSTA
STDCALL
int fnBar,
LPSCROLLINFO lpsi);
-HMENU
-STDCALL
-NtUserGetSystemMenu(
- HWND hWnd,
- BOOL bRevert);
-
HDESK
STDCALL
NtUserGetThreadDesktop(
DWORD dwThreadId,
DWORD Unknown1);
+#define THREADSTATE_FOCUSWINDOW (1)
+#define THREADSTATE_INSENDMESSAGE (2)
DWORD
STDCALL
NtUserGetThreadState(
- DWORD Unknown0);
+ DWORD Routine);
DWORD
STDCALL
NtUserGetUpdateRgn(
HWND hWnd,
HRGN hRgn,
- WINBOOL bErase);
+ BOOL bErase);
DWORD
STDCALL
NtUserGetWindowDC(
HWND hWnd);
-DWORD
+BOOL
STDCALL
NtUserGetWindowPlacement(
- DWORD Unknown0,
- DWORD Unknown1);
+ HWND hWnd,
+ WINDOWPLACEMENT *lpwndpl);
DWORD
STDCALL
DWORD Unknown0,
DWORD Unknown1);
-BOOL
-STDCALL
-NtUserHideCaret(
- HWND hWnd);
-
-BOOL
-STDCALL
-NtUserHiliteMenuItem(
- HWND hwnd,
- HMENU hmenu,
- UINT uItemHilite,
- UINT uHilite);
-
DWORD
STDCALL
NtUserImpersonateDdeClientWindow(
DWORD Unknown9,
DWORD Unknown10);
-DWORD
+INT
STDCALL
NtUserInternalGetWindowText(
HWND hWnd,
LPWSTR lpString,
- int nMaxCount);
-
-DWORD
-STDCALL
-NtUserInvalidateRect(
-HWND hWnd,
-CONST RECT *lpRect,
-WINBOOL bErase);
-
-DWORD
-STDCALL
- NtUserInvalidateRgn(
- HWND hWnd,
- HRGN hRgn,
- WINBOOL bErase);
+ INT nMaxCount);
-DWORD
+BOOL
STDCALL
NtUserIsClipboardFormatAvailable(
- DWORD Unknown0);
+ UINT format);
BOOL
STDCALL
DWORD keyboardId,
HKL dwhkl );
-BOOL
-STDCALL
-NtUserMenuInfo(
- HMENU hmenu,
- LPMENUINFO lpmi,
- BOOL fsog
-);
-
-int
-STDCALL
-NtUserMenuItemFromPoint(
- HWND hWnd,
- HMENU hMenu,
- DWORD X,
- DWORD Y);
-
-BOOL
-STDCALL
-NtUserMenuItemInfo(
- HMENU hMenu,
- UINT uItem,
- BOOL fByPosition,
- LPMENUITEMINFOW lpmii,
- BOOL fsog
-);
-
DWORD
STDCALL
NtUserMessageCall(
DWORD Unknown5,
DWORD Unknown6);
-DWORD
+BOOL
STDCALL
-NtUserMinMaximize(
- DWORD Unknown0,
- DWORD Unknown1,
- DWORD Unknown2);
+NtUserGetMinMaxInfo(
+ HWND hwnd,
+ MINMAXINFO *MinMaxInfo,
+ BOOL SendMessage);
DWORD
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(
DWORD Unknown2,
DWORD Unknown3);
-DWORD
+BOOL
STDCALL
NtUserOpenClipboard(
- DWORD Unknown0,
+ HWND hWnd,
DWORD Unknown1);
HDESK
BOOL
STDCALL
NtUserPeekMessage(
- LPMSG lpMsg,
+ PNTUSERGETMESSAGEINFO MsgInfo,
HWND hWnd,
UINT wMsgFilterMin,
UINT wMsgFilterMax,
DWORD Unknown3,
DWORD Unknown4);
+#define QUERY_WINDOW_UNIQUE_PROCESS_ID 0x00
+#define QUERY_WINDOW_UNIQUE_THREAD_ID 0x01
+#define QUERY_WINDOW_ISHUNG 0x04
DWORD
STDCALL
NtUserQueryWindow(
UINT flags
);
-RTL_ATOM
-STDCALL
-NtUserRegisterClassExWOW(CONST WNDCLASSEXW* lpwcx,
- BOOL bUnicodeClass,
- WNDPROC wpExtra,
- DWORD Unknown4,
- DWORD Unknown5);
+/* FIXME: These flag constans aren't what Windows uses. */
+#define REGISTERCLASS_ANSI 2
+#define REGISTERCLASS_SYSTEM 4
+#define REGISTERCLASS_ALL (REGISTERCLASS_ANSI | REGISTERCLASS_SYSTEM)
+
+RTL_ATOM STDCALL
+NtUserRegisterClassExWOW(
+ CONST WNDCLASSEXW* lpwcx,
+ PUNICODE_STRING ClassName,
+ PUNICODE_STRING ClassNameCopy,
+ PUNICODE_STRING MenuName,
+ WNDPROC wpExtra,
+ DWORD Flags,
+ DWORD Unknown7,
+ HMENU hMenu);
BOOL
STDCALL
UINT STDCALL
NtUserRegisterWindowMessage(PUNICODE_STRING MessageName);
-BOOL
-STDCALL
-NtUserRemoveMenu(
- HMENU hMenu,
- UINT uPosition,
- UINT uFlags);
-
HANDLE STDCALL
NtUserRemoveProp(HWND hWnd, ATOM Atom);
HRGN hrgnUpdate,
LPRECT lprcUpdate);
-DWORD
-STDCALL
-NtUserScrollWindowEx(
- DWORD Unknown0,
- DWORD Unknown1,
- DWORD Unknown2,
- DWORD Unknown3,
- DWORD Unknown4,
- DWORD Unknown5,
- DWORD Unknown6,
- DWORD Unknown7);
+DWORD STDCALL
+NtUserScrollWindowEx(HWND hWnd, INT dx, INT dy, const RECT *rect,
+ const RECT *clipRect, HRGN hrgnUpdate, LPRECT rcUpdate, UINT flags);
-DWORD
+UINT
STDCALL
NtUserSendInput(
- DWORD Unknown0,
- DWORD Unknown1,
- DWORD Unknown2);
+ UINT nInputs,
+ LPINPUT pInput,
+ INT cbSize);
+
+typedef struct tagNTUSERSENDMESSAGEINFO
+{
+ BOOL HandledByKernel;
+ BOOL Ansi;
+ WNDPROC Proc;
+} NTUSERSENDMESSAGEINFO, *PNTUSERSENDMESSAGEINFO;
LRESULT STDCALL
NtUserSendMessage(HWND hWnd,
UINT Msg,
WPARAM wParam,
- LPARAM lParam);
+ LPARAM lParam,
+ PNTUSERSENDMESSAGEINFO Info);
BOOL
STDCALL
SENDASYNCPROC lpCallBack,
ULONG_PTR dwData);
+LRESULT STDCALL
+NtUserSendMessageTimeout(HWND hWnd,
+ UINT Msg,
+ WPARAM wParam,
+ LPARAM lParam,
+ UINT uFlags,
+ UINT uTimeout,
+ ULONG_PTR *uResult,
+ PNTUSERSENDMESSAGEINFO Info);
+
BOOL
STDCALL
NtUserSendNotifyMessage(
DWORD Unknown1,
DWORD Unknown2);
-DWORD
+HANDLE
STDCALL
NtUserSetClipboardData(
- DWORD Unknown0,
- DWORD Unknown1,
+ UINT uFormat,
+ HANDLE hMem,
DWORD Unknown2);
-DWORD
+HWND
STDCALL
NtUserSetClipboardViewer(
- DWORD Unknown0);
+ HWND hWndNewViewer);
DWORD
STDCALL
BOOL
STDCALL
NtUserSetCursorIconContents(
- HCURSOR hCursor,
+ HANDLE Handle,
PICONINFO IconInfo);
BOOL
STDCALL
NtUserSetCursorIconData(
- HICON hIcon,
+ HANDLE Handle,
PBOOL fIcon,
POINT *Hotspot,
HMODULE hModule,
NtUserSetLogonNotifyWindow(
DWORD Unknown0);
-BOOL
-STDCALL
-NtUserSetMenu(
- HWND hWnd,
- HMENU hMenu,
- BOOL bRepaint);
-
-BOOL
-STDCALL
-NtUserSetMenuContextHelpId(
- HMENU hmenu,
- DWORD dwContextHelpId);
-
-BOOL
-STDCALL
-NtUserSetMenuDefaultItem(
- HMENU hMenu,
- UINT uItem,
- UINT fByPos);
-
-BOOL
-STDCALL
-NtUserSetMenuFlagRtoL(
- HMENU hMenu);
-
BOOL
STDCALL
NtUserSetObjectInformation(
NtUserSetScrollInfo(
HWND hwnd,
int fnBar,
- LPSCROLLINFO lpsi,
- DWORD *Changed);
+ LPCSCROLLINFO lpsi,
+ BOOL bRedraw);
-DWORD
+BOOL
STDCALL
NtUserSetShellWindowEx(
HWND hwndShell,
HCURSOR hcur,
DWORD id);
-BOOL
-STDCALL
-NtUserSetSystemMenu(
- HWND hWnd,
- HMENU hMenu);
-
BOOL
STDCALL
NtUserSetThreadDesktop(
LONG NewValue,
BOOL Ansi);
-DWORD
+BOOL
STDCALL
NtUserSetWindowPlacement(
- DWORD Unknown0,
- DWORD Unknown1);
+ HWND hWnd,
+ WINDOWPLACEMENT *lpwndpl);
BOOL
STDCALL NtUserSetWindowPos(
UINT uFlags
);
-DWORD
+INT
STDCALL
NtUserSetWindowRgn(
- DWORD Unknown0,
- DWORD Unknown1,
- DWORD Unknown2);
+ HWND hWnd,
+ HRGN hRgn,
+ BOOL bRedraw);
DWORD
STDCALL
DWORD Unknown1,
DWORD Unknown2);
-DWORD
+HHOOK
STDCALL
NtUserSetWindowsHookEx(
- DWORD Unknown0,
- DWORD Unknown1,
- DWORD Unknown2,
- DWORD Unknown3,
- DWORD Unknown4,
- DWORD Unknown5);
+ HINSTANCE Mod,
+ PUNICODE_STRING ModuleName,
+ DWORD ThreadId,
+ int HookId,
+ HOOKPROC HookProc,
+ BOOL Ansi);
DWORD
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
NtUserSwitchDesktop(
HDESK hDesktop);
-DWORD
+BOOL
STDCALL
NtUserSystemParametersInfo(
UINT uiAction,
PVOID pvParam,
UINT fWinIni);
-DWORD
-STDCALL
-NtUserThunkedMenuInfo(
- HMENU hMenu,
- LPCMENUINFO lpcmi);
-
-DWORD
-STDCALL
-NtUserThunkedMenuItemInfo(
- HMENU hMenu,
- UINT uItem,
- BOOL fByPosition,
- BOOL bInsert,
- LPMENUITEMINFOW lpmii,
- PUNICODE_STRING lpszCaption);
-
int
STDCALL
NtUserToUnicodeEx(
NtUserTrackMouseEvent(
DWORD Unknown0);
-BOOL
-STDCALL
-NtUserTrackPopupMenuEx(
- HMENU hmenu,
- UINT fuFlags,
- int x,
- int y,
- HWND hwnd,
- LPTPMPARAMS lptpm);
-
int
STDCALL
NtUserTranslateAccelerator(
LPMSG lpMsg,
HKL dwhkl );
-DWORD
+BOOL
STDCALL
NtUserUnhookWindowsHookEx(
- DWORD Unknown0);
+ HHOOK Hook);
DWORD
STDCALL
NtUserUnlockWindowStation(
HWINSTA hWindowStation);
-DWORD
+BOOL
STDCALL
NtUserUnregisterClass(
- DWORD Unknown0,
- DWORD Unknown1,
- DWORD Unknown2);
+ LPCWSTR ClassNameOrAtom,
+ HINSTANCE hInstance,
+ DWORD Unknown);
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(
DWORD STDCALL
NtUserDereferenceWndProcHandle(WNDPROC wpHandle, WndProcHandle *Data);
+
+VOID STDCALL
+NtUserManualGuiCheck(LONG Check);
+
+typedef struct _SETSCROLLBARINFO
+{
+ int nTrackPos;
+ int reserved;
+ DWORD rgstate[CCHILDREN_SCROLLBAR+1];
+} SETSCROLLBARINFO, *PSETSCROLLBARINFO;
+
+BOOL
+STDCALL
+NtUserSetScrollBarInfo(
+ HWND hwnd,
+ LONG idObject,
+ SETSCROLLBARINFO *info);
+
+/* lParam of DDE messages */
+typedef struct tagKMDDEEXECUTEDATA
+{
+ HWND Sender;
+ HGLOBAL ClientMem;
+ /* BYTE Data[DataSize] */
+} KMDDEEXECUTEDATA, *PKMDDEEXECUTEDATA;
+
+typedef struct tagKMDDELPARAM
+{
+ BOOL Packed;
+ union
+ {
+ struct
+ {
+ UINT uiLo;
+ UINT uiHi;
+ } Packed;
+ LPARAM Unpacked;
+ } 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 */