Registry entries for shell folders
[reactos.git] / reactos / include / win32k / ntuser.h
index 3463597..a931838 100644 (file)
 #ifndef __WIN32K_NTUSER_H
 #define __WIN32K_NTUSER_H
 
-ULONG STDCALL
+
+DWORD
+NTAPI
+NtUserBuildMenuItemList(
+ HMENU hMenu,
+ PVOID Buffer,
+ ULONG nBufSize,
+ DWORD Reserved);
+
+DWORD
+NTAPI
+NtUserCheckMenuItem(
+  HMENU hmenu,
+  UINT uIDCheckItem,
+  UINT uCheck);
+
+HMENU
+NTAPI
+NtUserCreateMenu(BOOL PopupMenu);
+
+BOOL
+NTAPI
+NtUserDeleteMenu(
+  HMENU hMenu,
+  UINT uPosition,
+  UINT uFlags);
+
+BOOL
+NTAPI
+NtUserDestroyMenu(
+  HMENU hMenu);
+
+DWORD
+NTAPI
+NtUserDrawMenuBarTemp(
+  HWND hWnd,
+  HDC hDC,
+  PRECT hRect,
+  HMENU hMenu,
+  HFONT hFont);
+
+UINT
+NTAPI
+NtUserEnableMenuItem(
+  HMENU hMenu,
+  UINT uIDEnableItem,
+  UINT uEnable);
+  
+DWORD
+NTAPI
+NtUserInsertMenuItem(
+  HMENU hMenu,
+  UINT uItem,
+  BOOL fByPosition,
+  LPCMENUITEMINFOW lpmii);
+
+BOOL
+NTAPI
+NtUserEndMenu(VOID);
+
+UINT NTAPI
+NtUserGetMenuDefaultItem(
+  HMENU hMenu,
+  UINT fByPos,
+  UINT gmdiFlags);
+
+BOOL
+NTAPI
+NtUserGetMenuBarInfo(
+  HWND hwnd,
+  LONG idObject,
+  LONG idItem,
+  PMENUBARINFO pmbi);
+
+UINT
+NTAPI
+NtUserGetMenuIndex(
+  HMENU hMenu,
+  UINT wID);
+
+BOOL
+NTAPI
+NtUserGetMenuItemRect(
+  HWND hWnd,
+  HMENU hMenu,
+  UINT uItem,
+  LPRECT lprcItem);
+
+HMENU
+NTAPI
+NtUserGetSystemMenu(
+  HWND hWnd,
+  BOOL bRevert);
+
+BOOL
+NTAPI
+NtUserHiliteMenuItem(
+  HWND hwnd,
+  HMENU hmenu,
+  UINT uItemHilite,
+  UINT uHilite);
+
+BOOL
+NTAPI
+NtUserMenuInfo(
+ HMENU hmenu,
+ PROSMENUINFO lpmi,
+ BOOL fsog
+);
+
+int
+NTAPI
+NtUserMenuItemFromPoint(
+  HWND hWnd,
+  HMENU hMenu,
+  DWORD X,
+  DWORD Y);
+
+BOOL
+NTAPI
+NtUserMenuItemInfo(
+ HMENU hMenu,
+ UINT uItem,
+ BOOL fByPosition,
+ PROSMENUITEMINFO lpmii,
+ BOOL fsog
+);
+
+BOOL
+NTAPI
+NtUserRemoveMenu(
+  HMENU hMenu,
+  UINT uPosition,
+  UINT uFlags);
+
+BOOL
+NTAPI
+NtUserSetMenu(
+  HWND hWnd,
+  HMENU hMenu,
+  BOOL bRepaint);
+
+BOOL
+NTAPI
+NtUserSetMenuContextHelpId(
+  HMENU hmenu,
+  DWORD dwContextHelpId);
+
+BOOL
+NTAPI
+NtUserSetMenuDefaultItem(
+  HMENU hMenu,
+  UINT uItem,
+  UINT fByPos);
+
+BOOL
+NTAPI
+NtUserSetMenuFlagRtoL(
+  HMENU hMenu);
+
+BOOL
+NTAPI
+NtUserSetSystemMenu(
+  HWND hWnd,
+  HMENU hMenu);
+
+DWORD
+NTAPI
+NtUserThunkedMenuInfo(
+  HMENU hMenu,
+  LPCMENUINFO lpcmi);
+
+DWORD
+NTAPI
+NtUserThunkedMenuItemInfo(
+  HMENU hMenu,
+  UINT uItem,
+  BOOL fByPosition,
+  BOOL bInsert,
+  LPMENUITEMINFOW lpmii,
+  PUNICODE_STRING lpszCaption);
+
+BOOL
+NTAPI
+NtUserTrackPopupMenuEx(
+  HMENU hmenu,
+  UINT fuFlags,
+  int x,
+  int y,
+  HWND hwnd,
+  LPTPMPARAMS lptpm);
+
+ULONG NTAPI
 NtUserGetSystemMetrics(ULONG Index);
 
-DWORD STDCALL
+DWORD NTAPI
 NtUserGetClassLong(HWND hWnd, DWORD Offset, BOOL Ansi);
 
-LONG STDCALL
+LONG NTAPI
 NtUserGetWindowLong(HWND hWnd, DWORD Index, BOOL Ansi);
 
-
-INT STDCALL
+INT NTAPI
 NtUserReleaseDC(HWND hWnd, HDC hDc);
 
-BOOL STDCALL
+BOOL NTAPI
 NtUserGetWindowRect(HWND hWnd, LPRECT Rect);
 
-BOOL STDCALL
+BOOL NTAPI
 NtUserGetClientRect(HWND hWnd, LPRECT Rect);
 
-HANDLE STDCALL
+HANDLE NTAPI
 NtUserGetProp(HWND hWnd, ATOM Atom);
 
-BOOL STDCALL
+BOOL NTAPI
 NtUserGetClientOrigin(HWND hWnd, LPPOINT Point);
 
-HWND STDCALL
+HWND NTAPI
 NtUserGetDesktopWindow();
 
 NTSTATUS
-STDCALL
+NTAPI
 NtUserAcquireOrReleaseInputOwnership(
   BOOLEAN Release);
 
 DWORD
-STDCALL
+NTAPI
 NtUserActivateKeyboardLayout(
   DWORD Unknown0,
   DWORD Unknown1);
 
 DWORD
-STDCALL
+NTAPI
 NtUserAlterWindowStyle(
   DWORD Unknown0,
   DWORD Unknown1,
   DWORD Unknown2);
 
 DWORD
-STDCALL
+NTAPI
 NtUserAttachThreadInput(
   DWORD Unknown0,
   DWORD Unknown1,
   DWORD Unknown2);
 
-HDC STDCALL
+HDC NTAPI
 NtUserBeginPaint(HWND hWnd, PAINTSTRUCT* lPs);
 
 DWORD
-STDCALL
+NTAPI
 NtUserBitBltSysBmp(
   DWORD Unknown0,
   DWORD Unknown1,
@@ -69,13 +260,13 @@ NtUserBitBltSysBmp(
   DWORD Unknown6,
   DWORD Unknown7);
 
-DWORD
-STDCALL
+BOOL
+NTAPI
 NtUserBlockInput(
-  DWORD Unknown0);
+  BOOL BlockIt);
 
 ULONG
-STDCALL
+NTAPI
 NtUserBuildHwndList(
   HDESK hDesktop,
   HWND hwndParent,
@@ -85,115 +276,158 @@ NtUserBuildHwndList(
   HWND* pWnd,
   ULONG nBufSize);
 
-DWORD
-STDCALL
-NtUserBuildMenuItemList(
- HMENU hMenu,
- PVOID Buffer,
- ULONG nBufSize,
- DWORD Reserved);
-
-
-DWORD
-STDCALL
+NTSTATUS NTAPI
 NtUserBuildNameList(
-  DWORD Unknown0,
-  DWORD Unknown1,
-  DWORD Unknown2,
-  DWORD Unknown3);
+   HWINSTA hWinSta,
+   ULONG dwSize,
+   PVOID lpBuffer,
+   PULONG pRequiredSize);
 
-DWORD
-STDCALL
+NTSTATUS
+NTAPI
 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
+NTAPI
 NtUserCallHwnd(
   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
+NTAPI
 NtUserCallHwndLock(
   HWND hWnd,
-  DWORD Unknown1);
+  DWORD Routine);
 
-DWORD
-STDCALL
+#define HWNDOPT_ROUTINE_SETPROGMANWINDOW       0x4A
+#define HWNDOPT_ROUTINE_SETTASKMANWINDOW       0x4B
+HWND
+NTAPI
 NtUserCallHwndOpt(
-  DWORD Unknown0,
-  DWORD Unknown1);
+  HWND Param,
+  DWORD Routine);
 
 DWORD
-STDCALL
+NTAPI
 NtUserCallHwndParam(
   DWORD Unknown0,
   DWORD Unknown1,
   DWORD Unknown2);
 
 DWORD
-STDCALL
+NTAPI
 NtUserCallHwndParamLock(
   DWORD Unknown0,
   DWORD Unknown1,
   DWORD Unknown2);
 
-DWORD
-STDCALL
+BOOL
+NTAPI
 NtUserCallMsgFilter(
-  DWORD Unknown0,
-  DWORD Unknown1);
-
-DWORD
-STDCALL
+  LPMSG msg,
+  INT code);
+LRESULT
+NTAPI
 NtUserCallNextHookEx(
-  DWORD Unknown0,
-  DWORD Unknown1,
-  DWORD Unknown2,
-  DWORD Unknown3);
+  HHOOK Hook,
+  int Code,
+  WPARAM wParam,
+  LPARAM lParam);
 
+#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
+NTAPI
 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
-DWORD
-STDCALL
+#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
+#define ONEPARAM_ROUTINE_SHOWCURSOR           0x30 
+DWORD
+NTAPI
 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
-DWORD
-STDCALL
+#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
+NTAPI
 NtUserCallTwoParam(
   DWORD Param1,
   DWORD Param2,
   DWORD Routine);
 
-DWORD
-STDCALL
+BOOL
+NTAPI
 NtUserChangeClipboardChain(
-  DWORD Unknown0,
-  DWORD Unknown1);
+  HWND hWndRemove,
+  HWND hWndNewNext);
 
 LONG
-STDCALL
+NTAPI
 NtUserChangeDisplaySettings(
   PUNICODE_STRING lpszDeviceName,
   LPDEVMODEW lpDevMode,
@@ -201,71 +435,70 @@ NtUserChangeDisplaySettings(
   DWORD dwflags,
   LPVOID lParam);
 
-DWORD
-STDCALL
-NtUserCheckMenuItem(
-  HMENU hmenu,
-  UINT uIDCheckItem,
-  UINT uCheck);
-
-DWORD STDCALL
+HWND NTAPI
 NtUserChildWindowFromPointEx(HWND Parent,
                             LONG x,
                             LONG y,
                             UINT Flags);
 
 BOOL
-STDCALL
+NTAPI
 NtUserClipCursor(
   RECT *lpRect);
 
-DWORD
-STDCALL
+BOOL
+NTAPI
 NtUserCloseClipboard(VOID);
 
 BOOL
-STDCALL
+NTAPI
 NtUserCloseDesktop(
   HDESK hDesktop);
 
 BOOL
-STDCALL
+NTAPI
 NtUserCloseWindowStation(
   HWINSTA hWinSta);
 
 DWORD
-STDCALL
+NTAPI
 NtUserConvertMemHandle(
   DWORD Unknown0,
   DWORD Unknown1);
 
 int
-STDCALL
+NTAPI
 NtUserCopyAcceleratorTable(
   HACCEL Table,
   LPACCEL Entries,
   int EntriesCount);
 
 DWORD
-STDCALL
+NTAPI
 NtUserCountClipboardFormats(VOID);
 
 HACCEL
-STDCALL
+NTAPI
 NtUserCreateAcceleratorTable(
- LPACCEL Entries,
 LPACCEL Entries,
   SIZE_T EntriesCount);
 
-DWORD
-STDCALL
+BOOL
+NTAPI
 NtUserCreateCaret(
-  DWORD Unknown0,
-  DWORD Unknown1,
-  DWORD Unknown2,
-  DWORD Unknown3);
+  HWND hWnd,
+  HBITMAP hBitmap,
+  int nWidth,
+  int nHeight);
+
+HANDLE
+NTAPI
+NtUserCreateCursorIconHandle(
+  PICONINFO IconInfo,
+  BOOL Indirect);
 
 HDESK
-STDCALL
+NTAPI
 NtUserCreateDesktop(
   PUNICODE_STRING lpszDesktopName,
   DWORD dwFlags,
@@ -274,19 +507,15 @@ NtUserCreateDesktop(
   HWINSTA hWindowStation);
 
 DWORD
-STDCALL
+NTAPI
 NtUserCreateLocalMemHandle(
   DWORD Unknown0,
   DWORD Unknown1,
   DWORD Unknown2,
   DWORD Unknown3);
 
-HMENU
-STDCALL
-NtUserCreateMenu(VOID);
-
 HWND
-STDCALL
+NTAPI
 NtUserCreateWindowEx(
   DWORD dwExStyle,
   PUNICODE_STRING lpClassName,
@@ -300,10 +529,11 @@ NtUserCreateWindowEx(
   HMENU hMenu,
   HINSTANCE hInstance,
   LPVOID lpParam,
-  DWORD Unknown12);
+  DWORD dwShowMode,
+  BOOL bUnicodeWindow);
 
 HWINSTA
-STDCALL
+NTAPI
 NtUserCreateWindowStation(
   PUNICODE_STRING lpszWindowStationName,
   ACCESS_MASK dwDesiredAccess,
@@ -313,14 +543,14 @@ NtUserCreateWindowStation(
   DWORD Unknown5);
 
 DWORD
-STDCALL
+NTAPI
 NtUserDdeGetQualityOfService(
   DWORD Unknown0,
   DWORD Unknown1,
   DWORD Unknown2);
 
 DWORD
-STDCALL
+NTAPI
 NtUserDdeInitialize(
   DWORD Unknown0,
   DWORD Unknown1,
@@ -329,13 +559,13 @@ NtUserDdeInitialize(
   DWORD Unknown4);
 
 DWORD
-STDCALL
+NTAPI
 NtUserDdeSetQualityOfService(
   DWORD Unknown0,
   DWORD Unknown1,
   DWORD Unknown2);
 
-HDWP STDCALL
+HDWP NTAPI
 NtUserDeferWindowPos(HDWP WinPosInfo,
                     HWND Wnd,
                     HWND WndInsertAfter,
@@ -344,60 +574,54 @@ NtUserDeferWindowPos(HDWP WinPosInfo,
          int cx,
          int cy,
                     UINT Flags);
-DWORD
-STDCALL
-NtUserDefSetText(
-  DWORD Unknown0,
-  DWORD Unknown1);
-
-BOOL
-STDCALL
-NtUserDeleteMenu(
-  HMENU hMenu,
-  UINT uPosition,
-  UINT uFlags);
+BOOL NTAPI
+NtUserDefSetText(HWND WindowHandle, PUNICODE_STRING WindowText);
 
-BOOL
-STDCALL
+BOOLEAN
+NTAPI
 NtUserDestroyAcceleratorTable(
   HACCEL Table);
 
 BOOL
-STDCALL
-NtUserDestroyCursor(
-  HCURSOR hCursor,
+NTAPI
+NtUserDestroyCursorIcon(
+  HANDLE Handle,
   DWORD Unknown);
 
-BOOL
-STDCALL
-NtUserDestroyMenu(
-  HMENU hMenu);
-
-BOOLEAN STDCALL
+BOOLEAN NTAPI
 NtUserDestroyWindow(HWND Wnd);
 
+typedef struct tagNTUSERDISPATCHMESSAGEINFO
+{
+  BOOL HandledByKernel;
+  BOOL Ansi;
+  WNDPROC Proc;
+  MSG Msg;
+} NTUSERDISPATCHMESSAGEINFO, *PNTUSERDISPATCHMESSAGEINFO;
+
 LRESULT
-STDCALL
-NtUserDispatchMessage(CONST MSG* lpmsg);
+NTAPI
+NtUserDispatchMessage(PNTUSERDISPATCHMESSAGEINFO MsgInfo);
 
 BOOL
-STDCALL
+NTAPI
 NtUserDragDetect(
   HWND hWnd,
   LONG x,
   LONG y);
 
 DWORD
-STDCALL
+NTAPI
 NtUserDragObject(
-  DWORD Unknown0,
-  DWORD Unknown1,
-  DWORD Unknown2,
-  DWORD Unknown3,
-  DWORD Unknown4);
+          HWND    hwnd1,
+          HWND    hwnd2,
+          UINT    u1,
+          DWORD   dw1,
+          HCURSOR hc1
+          );
 
 DWORD
-STDCALL
+NTAPI
 NtUserDrawAnimatedRects(
   DWORD Unknown0,
   DWORD Unknown1,
@@ -405,7 +629,7 @@ NtUserDrawAnimatedRects(
   DWORD Unknown3);
 
 DWORD
-STDCALL
+NTAPI
 NtUserDrawCaption(
   DWORD Unknown0,
   DWORD Unknown1,
@@ -413,7 +637,7 @@ NtUserDrawCaption(
   DWORD Unknown3);
 
 DWORD
-STDCALL
+NTAPI
 NtUserDrawCaptionTemp(
   DWORD Unknown0,
   DWORD Unknown1,
@@ -423,88 +647,69 @@ NtUserDrawCaptionTemp(
   DWORD Unknown5,
   DWORD Unknown6);
 
-DWORD
-STDCALL
+BOOL
+NTAPI
 NtUserDrawIconEx(
+  HDC hdc,
+  int xLeft,
+  int yTop,
+  HICON hIcon,
+  int cxWidth,
+  int cyWidth,
+  UINT istepIfAniCur,
+  HBRUSH hbrFlickerFreeDraw,
+  UINT diFlags,
   DWORD Unknown0,
-  DWORD Unknown1,
-  DWORD Unknown2,
-  DWORD Unknown3,
-  DWORD Unknown4,
-  DWORD Unknown5,
-  DWORD Unknown6,
-  DWORD Unknown7,
-  DWORD Unknown8,
-  DWORD Unknown9,
-  DWORD Unknown10);
-
-DWORD
-STDCALL
-NtUserDrawMenuBarTemp(
-  HWND hWnd,
-  HDC hDC,
-  PRECT hRect,
-  HMENU hMenu,
-  HFONT hFont);
+  DWORD Unknown1);
 
 DWORD
-STDCALL
+NTAPI
 NtUserEmptyClipboard(VOID);
 
-UINT
-STDCALL
-NtUserEnableMenuItem(
-  HMENU hMenu,
-  UINT uIDEnableItem,
-  UINT uEnable);
-  
-DWORD
-STDCALL
-NtUserInsertMenuItem(
-  HMENU hMenu,
-  UINT uItem,
-  WINBOOL fByPosition,
-  LPCMENUITEMINFOW lpmii);
-
-
-DWORD
-STDCALL
+BOOL
+NTAPI
 NtUserEnableScrollBar(
-  DWORD Unknown0,
-  DWORD Unknown1,
-  DWORD Unknown2);
+  HWND hWnd,
+  UINT wSBflags,
+  UINT wArrows);
 
 DWORD
-STDCALL
+NTAPI
 NtUserEndDeferWindowPosEx(
   DWORD Unknown0,
   DWORD Unknown1);
 
-BOOL
-STDCALL
-NtUserEndMenu(VOID);
-
-BOOL STDCALL
+BOOL NTAPI
 NtUserEndPaint(HWND hWnd, CONST PAINTSTRUCT* lPs);
 
-WINBOOL
-STDCALL
+BOOL
+NTAPI
 NtUserEnumDisplayDevices (
   PUNICODE_STRING lpDevice, /* device name */
   DWORD iDevNum, /* display device */
   PDISPLAY_DEVICE lpDisplayDevice, /* device information */
   DWORD dwFlags ); /* reserved */
 
-WINBOOL
-STDCALL
+/*BOOL
+NTAPI
 NtUserEnumDisplayMonitors (
   HDC hdc,
   LPCRECT lprcClip,
   MONITORENUMPROC lpfnEnum,
-  LPARAM dwData );
+  LPARAM dwData );*/
 
-WINBOOL
-STDCALL
+INT
+NTAPI
+NtUserEnumDisplayMonitors(
+  OPTIONAL IN HDC hDC,
+  OPTIONAL IN LPCRECT pRect,
+  OPTIONAL OUT HMONITOR *hMonitorList,
+  OPTIONAL OUT LPRECT monitorRectList,
+  OPTIONAL IN DWORD listSize );
+
+
+BOOL
+NTAPI
 NtUserEnumDisplaySettings(
   PUNICODE_STRING lpszDeviceName,
   DWORD iModeNum,
@@ -512,33 +717,34 @@ NtUserEnumDisplaySettings(
   DWORD dwFlags );
 
 DWORD
-STDCALL
+NTAPI
 NtUserEvent(
   DWORD Unknown0);
 
 DWORD
-STDCALL
+NTAPI
 NtUserExcludeUpdateRgn(
   DWORD Unknown0,
   DWORD Unknown1);
 
 DWORD
-STDCALL
+NTAPI
 NtUserFillWindow(
   DWORD Unknown0,
   DWORD Unknown1,
   DWORD Unknown2,
   DWORD Unknown3);
 
-DWORD
-STDCALL
+HICON
+NTAPI
 NtUserFindExistingCursorIcon(
-  DWORD Unknown0,
-  DWORD Unknown1,
-  DWORD Unknown2);
+  HMODULE hModule,
+  HRSRC hRsrc,
+  LONG cx,
+  LONG cy);
 
 HWND
-STDCALL
+NTAPI
 NtUserFindWindowEx(
   HWND  hwndParent,
   HWND  hwndChildAfter,
@@ -547,12 +753,12 @@ NtUserFindWindowEx(
   );
 
 DWORD
-STDCALL
+NTAPI
 NtUserFlashWindowEx(
   DWORD Unknown0);
 
 DWORD
-STDCALL
+NTAPI
 NtUserGetAltTabInfo(
   DWORD Unknown0,
   DWORD Unknown1,
@@ -561,25 +767,25 @@ NtUserGetAltTabInfo(
   DWORD Unknown4,
   DWORD Unknown5);
 
-HWND STDCALL
+HWND NTAPI
 NtUserGetAncestor(HWND hWnd, UINT Flags);
 
 
 DWORD
-STDCALL
+NTAPI
 NtUserGetAsyncKeyState(
   DWORD Unknown0);
 
-DWORD
-STDCALL
+UINT
+NTAPI
 NtUserGetCaretBlinkTime(VOID);
 
-DWORD
-STDCALL
+BOOL
+NTAPI
 NtUserGetCaretPos(
-  DWORD Unknown0);
+  LPPOINT lpPoint);
 
-DWORD STDCALL
+DWORD NTAPI
 NtUserGetClassInfo(HINSTANCE hInst,
                   LPCWSTR str,
                   LPWNDCLASSEXW wcex,
@@ -587,56 +793,56 @@ NtUserGetClassInfo(HINSTANCE hInst,
                   DWORD unknown3);
 
 DWORD
-STDCALL
+NTAPI
 NtUserGetClassName(HWND hWnd,
                   LPWSTR lpClassName,
                   ULONG nMaxCount);
 
-DWORD
-STDCALL
+HANDLE
+NTAPI
 NtUserGetClipboardData(
-  DWORD Unknown0,
+  UINT uFormat,
   DWORD Unknown1);
 
-DWORD
-STDCALL
+INT
+NTAPI
 NtUserGetClipboardFormatName(
-  DWORD Unknown0,
-  DWORD Unknown1,
-  DWORD Unknown2);
+  UINT format,
+  PUNICODE_STRING FormatName,
+  INT cchMaxCount);
 
-DWORD
-STDCALL
+HWND
+NTAPI
 NtUserGetClipboardOwner(VOID);
 
 DWORD
-STDCALL
+NTAPI
 NtUserGetClipboardSequenceNumber(VOID);
 
-DWORD
-STDCALL
+HWND
+NTAPI
 NtUserGetClipboardViewer(VOID);
 
 BOOL
-STDCALL
+NTAPI
 NtUserGetClipCursor(
   RECT *lpRect);
 
 DWORD
-STDCALL
+NTAPI
 NtUserGetComboBoxInfo(
   DWORD Unknown0,
   DWORD Unknown1);
 
 DWORD
-STDCALL
+NTAPI
 NtUserGetControlBrush(
   DWORD Unknown0,
   DWORD Unknown1,
   DWORD Unknown2);
 
 DWORD
-STDCALL
+NTAPI
 NtUserGetControlColor(
   DWORD Unknown0,
   DWORD Unknown1,
@@ -644,14 +850,14 @@ NtUserGetControlColor(
   DWORD Unknown3);
 
 DWORD
-STDCALL
+NTAPI
 NtUserGetCPD(
   DWORD Unknown0,
   DWORD Unknown1,
   DWORD Unknown2);
 
 DWORD
-STDCALL
+NTAPI
 NtUserGetCursorFrameInfo(
   DWORD Unknown0,
   DWORD Unknown1,
@@ -659,61 +865,57 @@ NtUserGetCursorFrameInfo(
   DWORD Unknown3);
 
 BOOL
-STDCALL
+NTAPI
 NtUserGetCursorInfo(
   PCURSORINFO pci);
 
-UINT STDCALL
-NtUserGetMenuDefaultItem(
-  HMENU hMenu,
-  UINT fByPos,
-  UINT gmdiFlags);
-
-HDC STDCALL
-NtUserGetDC(HWND hWnd);
+HDC
+NTAPI
+NtUserGetDC(
+  HWND hWnd);
 
-HDC STDCALL NtUserGetDCEx(HWND hWnd, HANDLE hRegion, ULONG Flags);
+HDC
+NTAPI
+NtUserGetDCEx(
+  HWND hWnd,
+  HANDLE hRegion,
+  ULONG Flags);
 
-DWORD
-STDCALL
+UINT
+NTAPI
 NtUserGetDoubleClickTime(VOID);
 
-DWORD
-STDCALL
+HWND
+NTAPI
 NtUserGetForegroundWindow(VOID);
 
 DWORD
-STDCALL
+NTAPI
 NtUserGetGuiResources(
-  DWORD Unknown0,
-  DWORD Unknown1);
+  HANDLE hProcess,
+  DWORD uiFlags);
 
-DWORD
-STDCALL
+BOOL
+NTAPI
 NtUserGetGUIThreadInfo(
-  DWORD Unknown0,
-  DWORD Unknown1);
+  DWORD idThread,
+  LPGUITHREADINFO lpgui);
 
-DWORD
-STDCALL
-NtUserGetIconInfo(
-  HICON hIcon,
-  PBOOL fIcon,
-  PDWORD xHotspot,
-  PDWORD yHotspot,
-  HBITMAP *hbmMask,
-  HBITMAP *hbmColor);
+BOOL
+NTAPI
+NtUserGetCursorIconInfo(
+  HANDLE Handle,
+  PICONINFO IconInfo);
 
 BOOL
-STDCALL
-NtUserGetIconSize(
-  HICON hIcon,
+NTAPI
+NtUserGetCursorIconSize(
+  HANDLE Handle,
   BOOL *fIcon,
-  LONG *Width,
-  LONG *Height);
+  SIZE *Size);
 
 DWORD
-STDCALL
+NTAPI
 NtUserGetImeHotKey(
   DWORD Unknown0,
   DWORD Unknown1,
@@ -721,86 +923,83 @@ NtUserGetImeHotKey(
   DWORD Unknown3);
 
 DWORD
-STDCALL
+NTAPI
 NtUserGetInternalWindowPos(
   DWORD Unknown0,
   DWORD Unknown1,
   DWORD Unknown2);
 
+HKL
+NTAPI 
+NtUserGetKeyboardLayout(
+  DWORD dwThreadid);
+
 DWORD
-STDCALL
+NTAPI
 NtUserGetKeyboardLayoutList(
   DWORD Unknown0,
   DWORD Unknown1);
 
-DWORD
-STDCALL
+BOOL
+NTAPI
 NtUserGetKeyboardLayoutName(
-  DWORD Unknown0);
+  LPWSTR lpszName);
 
 DWORD
-STDCALL
+NTAPI
 NtUserGetKeyboardState(
   LPBYTE Unknown0);
 
 DWORD
-STDCALL
-NtUserGetKeyNameText(
-  DWORD Unknown0,
-  DWORD Unknown1,
-  DWORD Unknown2);
+NTAPI
+NtUserGetKeyboardType(
+  DWORD TypeFlag);
 
 DWORD
-STDCALL
+NTAPI
+NtUserGetKeyNameText( LONG lParam, LPWSTR lpString, int nSize );
+  
+DWORD
+NTAPI
 NtUserGetKeyState(
   DWORD Unknown0);
 
 DWORD
-STDCALL
+NTAPI
 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
+NTAPI
 NtUserGetMessage(
-  LPMSG lpMsg,
+  PNTUSERGETMESSAGEINFO MsgInfo,
   HWND hWnd,
   UINT wMsgFilterMin,
   UINT wMsgFilterMax);
 
+BOOL
+NTAPI
+NtUserGetMonitorInfo(
+  IN HMONITOR hMonitor,
+  OUT LPMONITORINFO pMonitorInfo);
+
 DWORD
-STDCALL
+NTAPI
 NtUserGetMouseMovePointsEx(
-  DWORD Unknown0,
-  DWORD Unknown1,
-  DWORD Unknown2,
-  DWORD Unknown3,
-  DWORD Unknown4);
+  UINT cbSize,
+  LPMOUSEMOVEPOINT lppt,
+  LPMOUSEMOVEPOINT lpptBuf,
+  int nBufPoints,
+  DWORD resolution);
 
 BOOL
-STDCALL
+NTAPI
 NtUserGetObjectInformation(
   HANDLE hObject,
   DWORD nIndex,
@@ -808,99 +1007,88 @@ NtUserGetObjectInformation(
   DWORD nLength,
   PDWORD nLengthNeeded);
 
-DWORD
-STDCALL
+HWND
+NTAPI
 NtUserGetOpenClipboardWindow(VOID);
 
-DWORD
-STDCALL
+INT
+NTAPI
 NtUserGetPriorityClipboardFormat(
-  DWORD Unknown0,
-  DWORD Unknown1);
+  UINT *paFormatPriorityList,
+  INT cFormats);
 
 HWINSTA
-STDCALL
+NTAPI
 NtUserGetProcessWindowStation(VOID);
 
-DWORD
-STDCALL
-NtUserGetScrollBarInfo(HWND hWnd, LONG idObject, PSCROLLBARINFO psbi);
+BOOL
+NTAPI
+NtUserGetScrollBarInfo(
+  HWND hWnd, 
+  LONG idObject, 
+  PSCROLLBARINFO psbi);
 
-HMENU
-STDCALL
-NtUserGetSystemMenu(
-  HWND hWnd,
-  BOOL bRevert);
+BOOL
+NTAPI
+NtUserGetScrollInfo(
+  HWND hwnd, 
+  int fnBar, 
+  LPSCROLLINFO lpsi);
 
 HDESK
-STDCALL
+NTAPI
 NtUserGetThreadDesktop(
   DWORD dwThreadId,
   DWORD Unknown1);
 
+#define THREADSTATE_FOCUSWINDOW (1)
+#define THREADSTATE_INSENDMESSAGE       (2)
 DWORD
-STDCALL
+NTAPI
 NtUserGetThreadState(
-  DWORD Unknown0);
+  DWORD Routine);
 
 DWORD
-STDCALL
+NTAPI
 NtUserGetTitleBarInfo(
   DWORD Unknown0,
   DWORD Unknown1);
 
-DWORD
-STDCALL
-NtUserGetUpdateRect(
-  DWORD Unknown0,
-  DWORD Unknown1,
-  DWORD Unknown2);
+BOOL NTAPI
+NtUserGetUpdateRect(HWND hWnd, LPRECT lpRect, BOOL fErase);
 
 int
-STDCALL
+NTAPI
 NtUserGetUpdateRgn(
   HWND hWnd,
   HRGN hRgn,
-  WINBOOL bErase);
+  BOOL bErase);
 
 DWORD
-STDCALL
+NTAPI
 NtUserGetWindowDC(
   HWND hWnd);
 
-DWORD
-STDCALL
+BOOL
+NTAPI
 NtUserGetWindowPlacement(
-  DWORD Unknown0,
-  DWORD Unknown1);
+  HWND hWnd,
+  WINDOWPLACEMENT *lpwndpl);
 
 DWORD
-STDCALL
+NTAPI
 NtUserGetWOWClass(
   DWORD Unknown0,
   DWORD Unknown1);
 
 DWORD
-STDCALL
-NtUserHideCaret(
-  DWORD Unknown0);
-
-BOOL
-STDCALL
-NtUserHiliteMenuItem(
-  HWND hwnd,
-  HMENU hmenu,
-  UINT uItemHilite,
-  UINT uHilite);
-
-DWORD
-STDCALL
+NTAPI
 NtUserImpersonateDdeClientWindow(
   DWORD Unknown0,
   DWORD Unknown1);
 
 DWORD
-STDCALL
+NTAPI
 NtUserInitializeClientPfnArrays(
   DWORD Unknown0,
   DWORD Unknown1,
@@ -908,7 +1096,7 @@ NtUserInitializeClientPfnArrays(
   DWORD Unknown3);
 
 DWORD
-STDCALL
+NTAPI
 NtUserInitTask(
   DWORD Unknown0,
   DWORD Unknown1,
@@ -922,35 +1110,29 @@ NtUserInitTask(
   DWORD Unknown9,
   DWORD Unknown10);
 
-DWORD
-STDCALL
+INT
+NTAPI
 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
-STDCALL
+BOOL
+NTAPI
 NtUserIsClipboardFormatAvailable(
-  DWORD Unknown0);
+  UINT format);
 
 BOOL
-STDCALL
+NTAPI
+NtUserKillSystemTimer
+(
+ HWND hWnd,
+ UINT_PTR uIDEvent
+);
+
+BOOL
+NTAPI
 NtUserKillTimer
 (
  HWND hWnd,
@@ -958,7 +1140,7 @@ NtUserKillTimer
 );
 
 DWORD
-STDCALL
+NTAPI
 NtUserLoadKeyboardLayoutEx(
   DWORD Unknown0,
   DWORD Unknown1,
@@ -968,55 +1150,28 @@ NtUserLoadKeyboardLayoutEx(
   DWORD Unknown5);
 
 BOOL
-STDCALL
+NTAPI
 NtUserLockWindowStation(
   HWINSTA hWindowStation);
 
 DWORD
-STDCALL
+NTAPI
 NtUserLockWindowUpdate(
   DWORD Unknown0);
 
 DWORD
-STDCALL
+NTAPI
 NtUserLockWorkStation(VOID);
 
-DWORD
-STDCALL
-NtUserMapVirtualKeyEx(
-  DWORD Unknown0,
-  DWORD Unknown1,
-  DWORD Unknown2,
-  DWORD Unknown3);
-
-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
-);
+UINT
+NTAPI
+NtUserMapVirtualKeyEx( UINT keyCode,
+                      UINT transType,
+                      DWORD keyboardId,
+                      HKL dwhkl );
 
 DWORD
-STDCALL
+NTAPI
 NtUserMessageCall(
   DWORD Unknown0,
   DWORD Unknown1,
@@ -1026,31 +1181,50 @@ NtUserMessageCall(
   DWORD Unknown5,
   DWORD Unknown6);
 
-DWORD
-STDCALL
-NtUserMinMaximize(
-  DWORD Unknown0,
-  DWORD Unknown1,
-  DWORD Unknown2);
+BOOL
+NTAPI
+NtUserGetMinMaxInfo(
+  HWND hwnd,
+  MINMAXINFO *MinMaxInfo,
+  BOOL SendMessage);
 
 DWORD
-STDCALL
+NTAPI
 NtUserMNDragLeave(VOID);
 
 DWORD
-STDCALL
+NTAPI
 NtUserMNDragOver(
   DWORD Unknown0,
   DWORD Unknown1);
 
 DWORD
-STDCALL
+NTAPI
 NtUserModifyUserStartupInfoFlags(
   DWORD Unknown0,
   DWORD Unknown1);
 
+HMONITOR
+NTAPI
+NtUserMonitorFromPoint(
+  IN POINT point,
+  IN DWORD dwFlags);
+
+HMONITOR
+NTAPI
+NtUserMonitorFromRect(
+  IN LPCRECT pRect,
+  IN DWORD dwFlags);
+
+HMONITOR
+NTAPI
+NtUserMonitorFromWindow(
+  IN HWND hWnd,
+  IN DWORD dwFlags);
+
+
 BOOL
-STDCALL
+NTAPI
 NtUserMoveWindow(      
     HWND hWnd,
     int X,
@@ -1061,62 +1235,62 @@ NtUserMoveWindow(
 );
 
 DWORD
-STDCALL
+NTAPI
 NtUserNotifyIMEStatus(
   DWORD Unknown0,
   DWORD Unknown1,
   DWORD Unknown2);
 
 DWORD
-STDCALL
+NTAPI
 NtUserNotifyWinEvent(
   DWORD Unknown0,
   DWORD Unknown1,
   DWORD Unknown2,
   DWORD Unknown3);
 
-DWORD
-STDCALL
+BOOL
+NTAPI
 NtUserOpenClipboard(
-  DWORD Unknown0,
+  HWND hWnd,
   DWORD Unknown1);
 
 HDESK
-STDCALL
+NTAPI
 NtUserOpenDesktop(
   PUNICODE_STRING lpszDesktopName,
   DWORD dwFlags,
   ACCESS_MASK dwDesiredAccess);
 
 HDESK
-STDCALL
+NTAPI
 NtUserOpenInputDesktop(
   DWORD dwFlags,
   BOOL fInherit,
   ACCESS_MASK dwDesiredAccess);
 
 HWINSTA
-STDCALL
+NTAPI
 NtUserOpenWindowStation(
   PUNICODE_STRING lpszWindowStationName,
   ACCESS_MASK dwDesiredAccess);
 
 BOOL
-STDCALL
+NTAPI
 NtUserPaintDesktop(
   HDC hDC);
 
 BOOL
-STDCALL
+NTAPI
 NtUserPeekMessage(
-  LPMSG lpMsg,
+  PNTUSERGETMESSAGEINFO MsgInfo,
   HWND hWnd,
   UINT wMsgFilterMin,
   UINT wMsgFilterMax,
   UINT wRemoveMsg);
 
 BOOL
-STDCALL
+NTAPI
 NtUserPostMessage(
   HWND hWnd,
   UINT Msg,
@@ -1124,7 +1298,7 @@ NtUserPostMessage(
   LPARAM lParam);
 
 BOOL
-STDCALL
+NTAPI
 NtUserPostThreadMessage(
   DWORD idThread,
   UINT Msg,
@@ -1132,12 +1306,12 @@ NtUserPostThreadMessage(
   LPARAM lParam);
 
 DWORD
-STDCALL
+NTAPI
 NtUserQuerySendMessage(
   DWORD Unknown0);
 
 DWORD
-STDCALL
+NTAPI
 NtUserQueryUserCounters(
   DWORD Unknown0,
   DWORD Unknown1,
@@ -1145,21 +1319,28 @@ NtUserQueryUserCounters(
   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
+NTAPI
 NtUserQueryWindow(
   HWND hWnd,
   DWORD Index);
 
+UINT
+NTAPI
+NtUserRealizePalette(HDC hDC);
+
 DWORD
-STDCALL
+NTAPI
 NtUserRealChildWindowFromPoint(
   DWORD Unknown0,
   DWORD Unknown1,
   DWORD Unknown2);
 
 BOOL
-STDCALL
+NTAPI
 NtUserRedrawWindow
 (
  HWND hWnd,
@@ -1168,92 +1349,91 @@ NtUserRedrawWindow
  UINT flags
 );
 
-RTL_ATOM
-STDCALL
-NtUserRegisterClassExWOW(CONST WNDCLASSEXW* lpwcx,
-                        BOOL bUnicodeClass,
-                        DWORD Unknown3,
-                        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 NTAPI
+NtUserRegisterClassExWOW(
+   CONST WNDCLASSEXW* lpwcx,
+   PUNICODE_STRING ClassName,
+   PUNICODE_STRING ClassNameCopy,
+   PUNICODE_STRING MenuName,
+   WNDPROC wpExtra,
+   DWORD Flags,
+   DWORD Unknown7,
+   HMENU hMenu);
 
-DWORD
-STDCALL
-NtUserRegisterHotKey(
-  DWORD Unknown0,
-  DWORD Unknown1,
-  DWORD Unknown2,
-  DWORD Unknown3);
+BOOL
+NTAPI
+NtUserRegisterHotKey(HWND hWnd,
+                    int id,
+                    UINT fsModifiers,
+                    UINT vk);
 
 DWORD
-STDCALL
+NTAPI
 NtUserRegisterTasklist(
   DWORD Unknown0);
 
-UINT STDCALL
+UINT NTAPI
 NtUserRegisterWindowMessage(PUNICODE_STRING MessageName);
 
-BOOL
-STDCALL
-NtUserRemoveMenu(
-  HMENU hMenu,
-  UINT uPosition,
-  UINT uFlags);
-
-HANDLE STDCALL
+HANDLE NTAPI
 NtUserRemoveProp(HWND hWnd, ATOM Atom);
 
 DWORD
-STDCALL
+NTAPI
 NtUserResolveDesktopForWOW(
-  DWORD Unknown0);
-
-DWORD
-STDCALL
-NtUserSBGetParms(
-  DWORD Unknown0,
-  DWORD Unknown1,
-  DWORD Unknown2,
-  DWORD Unknown3);
-
-DWORD
-STDCALL
-NtUserScrollDC(
-  DWORD Unknown0,
-  DWORD Unknown1,
-  DWORD Unknown2,
-  DWORD Unknown3,
-  DWORD Unknown4,
-  DWORD Unknown5,
-  DWORD Unknown6);
+  DWORD Unknown0);
 
 DWORD
-STDCALL
-NtUserScrollWindowEx(
+NTAPI
+NtUserSBGetParms(
   DWORD Unknown0,
   DWORD Unknown1,
   DWORD Unknown2,
-  DWORD Unknown3,
-  DWORD Unknown4,
-  DWORD Unknown5,
-  DWORD Unknown6,
-  DWORD Unknown7);
+  DWORD Unknown3);
 
 DWORD
-STDCALL
-NtUserSendInput(
-  DWORD Unknown0,
-  DWORD Unknown1,
-  DWORD Unknown2);
+NTAPI
+NtUserScrollDC(
+  HDC hDC,
+  int dx,
+  int dy,
+  CONST RECT *lprcScroll,
+  CONST RECT *lprcClip ,
+  HRGN hrgnUpdate,
+  LPRECT lprcUpdate);
 
-LRESULT STDCALL
+DWORD NTAPI
+NtUserScrollWindowEx(HWND hWnd, INT dx, INT dy, const RECT *rect,
+   const RECT *clipRect, HRGN hrgnUpdate, LPRECT rcUpdate, UINT flags);
+
+UINT
+NTAPI
+NtUserSendInput(
+  UINT nInputs,
+  LPINPUT pInput,
+  INT cbSize);
+
+typedef struct tagNTUSERSENDMESSAGEINFO
+{
+  BOOL HandledByKernel;
+  BOOL Ansi;
+  WNDPROC Proc;
+} NTUSERSENDMESSAGEINFO, *PNTUSERSENDMESSAGEINFO;
+
+LRESULT NTAPI
 NtUserSendMessage(HWND hWnd,
                  UINT Msg,
                  WPARAM wParam,
-                 LPARAM lParam);
+                 LPARAM lParam,
+                  PNTUSERSENDMESSAGEINFO Info);
 
 BOOL
-STDCALL
+NTAPI
 NtUserSendMessageCallback(
   HWND hWnd,
   UINT Msg,
@@ -1262,25 +1442,35 @@ NtUserSendMessageCallback(
   SENDASYNCPROC lpCallBack,
   ULONG_PTR dwData);
 
+LRESULT NTAPI
+NtUserSendMessageTimeout(HWND hWnd,
+                        UINT Msg,
+                        WPARAM wParam,
+                        LPARAM lParam,
+                        UINT uFlags,
+                        UINT uTimeout,
+                        ULONG_PTR *uResult,
+                        PNTUSERSENDMESSAGEINFO Info);
+
 BOOL
-STDCALL
+NTAPI
 NtUserSendNotifyMessage(
   HWND hWnd,
   UINT Msg,
   WPARAM wParam,
   LPARAM lParam);
 
-HWND STDCALL
+HWND NTAPI
 NtUserSetActiveWindow(HWND Wnd);
-HWND STDCALL
+HWND NTAPI
 NtUserGetActiveWindow(VOID);
 
-HWND STDCALL
+HWND NTAPI
 NtUserSetCapture(HWND Wnd);
-HWND STDCALL
+HWND NTAPI
 NtUserGetCapture(VOID);
 
-DWORD STDCALL
+DWORD NTAPI
 NtUserSetClassLong(
   HWND  hWnd,
   DWORD Offset,
@@ -1289,62 +1479,72 @@ NtUserSetClassLong(
 
 
 DWORD
-STDCALL
+NTAPI
 NtUserSetClassWord(
   DWORD Unknown0,
   DWORD Unknown1,
   DWORD Unknown2);
 
-DWORD
-STDCALL
+HANDLE
+NTAPI
 NtUserSetClipboardData(
-  DWORD Unknown0,
-  DWORD Unknown1,
+  UINT uFormat,
+  HANDLE hMem,
   DWORD Unknown2);
 
-DWORD
-STDCALL
+HWND
+NTAPI
 NtUserSetClipboardViewer(
-  DWORD Unknown0);
+  HWND hWndNewViewer);
 
-DWORD
+HPALETTE
 STDCALL
+NtUserSelectPalette(
+    HDC hDC,
+    HPALETTE  hpal,
+    BOOL  ForceBackground
+);
+
+DWORD
+NTAPI
 NtUserSetConsoleReserveKeys(
   DWORD Unknown0,
   DWORD Unknown1);
 
 HCURSOR
-STDCALL
+NTAPI
 NtUserSetCursor(
   HCURSOR hCursor);
 
 BOOL
-STDCALL
-NtUserSetCursorContents(
-  HCURSOR hCursor,
-  DWORD Unknown);
+NTAPI
+NtUserSetCursorIconContents(
+  HANDLE Handle,
+  PICONINFO IconInfo);
 
 BOOL
-STDCALL
+NTAPI
 NtUserSetCursorIconData(
-  HICON hIcon,
+  HANDLE Handle,
   PBOOL fIcon,
-  PDWORD xHotspot,
-  PDWORD yHotspot);
+  POINT *Hotspot,
+  HMODULE hModule,
+  HRSRC hRsrc,
+  HRSRC hGroupRsrc);
 
 DWORD
-STDCALL
+NTAPI
 NtUserSetDbgTag(
   DWORD Unknown0,
   DWORD Unknown1);
 
 HWND
-STDCALL
+NTAPI
 NtUserSetFocus(
   HWND hWnd);
 
 DWORD
-STDCALL
+NTAPI
 NtUserSetImeHotKey(
   DWORD Unknown0,
   DWORD Unknown1,
@@ -1353,13 +1553,13 @@ NtUserSetImeHotKey(
   DWORD Unknown4);
 
 DWORD
-STDCALL
+NTAPI
 NtUserSetImeOwnerWindow(
   DWORD Unknown0,
   DWORD Unknown1);
 
 DWORD
-STDCALL
+NTAPI
 NtUserSetInternalWindowPos(
   DWORD Unknown0,
   DWORD Unknown1,
@@ -1367,12 +1567,12 @@ NtUserSetInternalWindowPos(
   DWORD Unknown3);
 
 DWORD
-STDCALL
+NTAPI
 NtUserSetKeyboardState(
   LPBYTE Unknown0);
 
 DWORD
-STDCALL
+NTAPI
 NtUserSetLayeredWindowAttributes(
   DWORD Unknown0,
   DWORD Unknown1,
@@ -1380,37 +1580,12 @@ NtUserSetLayeredWindowAttributes(
   DWORD Unknown3);
 
 DWORD
-STDCALL
+NTAPI
 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
+NTAPI
 NtUserSetObjectInformation(
   HANDLE hObject,
   DWORD nIndex,
@@ -1418,45 +1593,45 @@ NtUserSetObjectInformation(
   DWORD nLength);
 
 HWND
-STDCALL
+NTAPI
 NtUserSetParent(
   HWND hWndChild,
   HWND hWndNewParent);
 
 BOOL
-STDCALL
+NTAPI
 NtUserSetProcessWindowStation(
   HWINSTA hWindowStation);
 
-BOOL STDCALL
+BOOL NTAPI
 NtUserSetProp(HWND hWnd, ATOM Atom, HANDLE Data);
 
 DWORD
-STDCALL
+NTAPI
 NtUserSetRipFlags(
   DWORD Unknown0,
   DWORD Unknown1);
 
 DWORD
-STDCALL
+NTAPI
 NtUserSetScrollInfo(
-  DWORD Unknown0,
-  DWORD Unknown1,
-  DWORD Unknown2,
-  DWORD Unknown3);
+  HWND hwnd, 
+  int fnBar, 
+  LPCSCROLLINFO lpsi, 
+  BOOL bRedraw);
 
-DWORD
-STDCALL
+BOOL
+NTAPI
 NtUserSetShellWindowEx(
   HWND hwndShell,
   HWND hwndShellListView);
 
 HWND
-STDCALL
+NTAPI
 NtUserGetShellWindow();
 
 DWORD
-STDCALL
+NTAPI
 NtUserSetSysColors(
   DWORD Unknown0,
   DWORD Unknown1,
@@ -1464,38 +1639,34 @@ NtUserSetSysColors(
   DWORD Unknown3);
 
 BOOL
-STDCALL
+NTAPI
 NtUserSetSystemCursor(
   HCURSOR hcur,
   DWORD id);
 
 BOOL
-STDCALL
-NtUserSetSystemMenu(
-  HWND hWnd,
-  HMENU hMenu);
-
-DWORD
-STDCALL
-NtUserSetSystemTimer(
-  DWORD Unknown0,
-  DWORD Unknown1,
-  DWORD Unknown2,
-  DWORD Unknown3);
-
-BOOL
-STDCALL
+NTAPI
 NtUserSetThreadDesktop(
   HDESK hDesktop);
 
 DWORD
-STDCALL
+NTAPI
 NtUserSetThreadState(
   DWORD Unknown0,
   DWORD Unknown1);
 
 UINT_PTR
-STDCALL
+NTAPI
+NtUserSetSystemTimer
+(
+ HWND hWnd,
+ UINT_PTR nIDEvent,
+ UINT uElapse,
+ TIMERPROC lpTimerFunc
+);
+
+UINT_PTR
+NTAPI
 NtUserSetTimer
 (
  HWND hWnd,
@@ -1505,27 +1676,27 @@ NtUserSetTimer
 );
 
 DWORD
-STDCALL
+NTAPI
 NtUserSetWindowFNID(
   DWORD Unknown0,
   DWORD Unknown1);
 
 LONG
-STDCALL
+NTAPI
 NtUserSetWindowLong(
   HWND hWnd,
   DWORD Index,
   LONG NewValue,
   BOOL Ansi);
 
-DWORD
-STDCALL
+BOOL
+NTAPI
 NtUserSetWindowPlacement(
-  DWORD Unknown0,
-  DWORD Unknown1);
+  HWND hWnd,
+  WINDOWPLACEMENT *lpwndpl);
 
 BOOL 
-STDCALL NtUserSetWindowPos(      
+NTAPI NtUserSetWindowPos(      
     HWND hWnd,
     HWND hWndInsertAfter,
     int X,
@@ -1535,43 +1706,43 @@ STDCALL NtUserSetWindowPos(
     UINT uFlags
 );
 
-DWORD
-STDCALL
+INT
+NTAPI
 NtUserSetWindowRgn(
-  DWORD Unknown0,
-  DWORD Unknown1,
-  DWORD Unknown2);
+  HWND hWnd,
+  HRGN hRgn,
+  BOOL bRedraw);
 
 DWORD
-STDCALL
+NTAPI
 NtUserSetWindowsHookAW(
   DWORD Unknown0,
   DWORD Unknown1,
   DWORD Unknown2);
 
-DWORD
-STDCALL
+HHOOK
+NTAPI
 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
+NTAPI
 NtUserSetWindowStationUser(
   DWORD Unknown0,
   DWORD Unknown1,
   DWORD Unknown2,
   DWORD Unknown3);
 
-WORD STDCALL
+WORD NTAPI
 NtUserSetWindowWord(HWND hWnd, INT Index, WORD NewVal);
 
 DWORD
-STDCALL
+NTAPI
 NtUserSetWinEventHook(
   DWORD Unknown0,
   DWORD Unknown1,
@@ -1582,147 +1753,118 @@ NtUserSetWinEventHook(
   DWORD Unknown6,
   DWORD Unknown7);
 
-DWORD
-STDCALL
+BOOL
+NTAPI
 NtUserShowCaret(
-  DWORD Unknown0);
+  HWND hWnd,
+  BOOL bShow);
 
 DWORD
-STDCALL
+NTAPI
 NtUserShowScrollBar(HWND hWnd, int wBar, DWORD bShow);
 
 BOOL
-STDCALL
+NTAPI
 NtUserShowWindow(
   HWND hWnd,
   LONG nCmdShow);
 
-DWORD
-STDCALL
+BOOL
+NTAPI
 NtUserShowWindowAsync(
-  DWORD Unknown0,
-  DWORD Unknown1);
+  HWND hWnd,
+  LONG nCmdShow);
 
 BOOL
-STDCALL
+NTAPI
 NtUserSwitchDesktop(
   HDESK hDesktop);
 
-DWORD
-STDCALL
+BOOL
+NTAPI
 NtUserSystemParametersInfo(
-  DWORD Unknown0,
-  DWORD Unknown1,
-  DWORD Unknown2,
-  DWORD Unknown3);
-
-DWORD
-STDCALL
-NtUserThunkedMenuInfo(
-  HMENU hMenu,
-  LPCMENUINFO lpcmi);
-
-DWORD
-STDCALL
-NtUserThunkedMenuItemInfo(
-  HMENU hMenu,
-  UINT uItem,
-  BOOL fByPosition,
-  BOOL bInsert,
-  LPMENUITEMINFOW lpmii,
-  PUNICODE_STRING lpszCaption);
+  UINT uiAction,
+  UINT uiParam,
+  PVOID pvParam,
+  UINT fWinIni);
 
-DWORD
-STDCALL
+int
+NTAPI
 NtUserToUnicodeEx(
-  DWORD Unknown0,
-  DWORD Unknown1,
-  DWORD Unknown2,
-  DWORD Unknown3,
-  DWORD Unknown4,
-  DWORD Unknown5,
-  DWORD Unknown6);
+                 UINT wVirtKey,
+                 UINT wScanCode,
+                 PBYTE lpKeyState,
+                 LPWSTR pwszBuff,
+                 int cchBuff,
+                 UINT wFlags,
+                 HKL dwhkl );
 
 DWORD
-STDCALL
+NTAPI
 NtUserTrackMouseEvent(
   DWORD Unknown0);
 
-BOOL
-STDCALL
-NtUserTrackPopupMenuEx(
-  HMENU hmenu,
-  UINT fuFlags,
-  int x,
-  int y,
-  HWND hwnd,
-  LPTPMPARAMS lptpm);
-
 int
-STDCALL
+NTAPI
 NtUserTranslateAccelerator(
   HWND Window,
   HACCEL Table,
   LPMSG Message);
 
 BOOL
-STDCALL
+NTAPI
 NtUserTranslateMessage(
   LPMSG lpMsg,
-  DWORD Unknown1);
+  HKL dwhkl );
 
-DWORD
-STDCALL
+BOOL
+NTAPI
 NtUserUnhookWindowsHookEx(
-  DWORD Unknown0);
+  HHOOK Hook);
 
 DWORD
-STDCALL
+NTAPI
 NtUserUnhookWinEvent(
   DWORD Unknown0);
 
 DWORD
-STDCALL
+NTAPI
 NtUserUnloadKeyboardLayout(
   DWORD Unknown0);
 
 BOOL
-STDCALL
+NTAPI
 NtUserUnlockWindowStation(
   HWINSTA hWindowStation);
 
-DWORD
-STDCALL
+BOOL
+NTAPI
 NtUserUnregisterClass(
-  DWORD Unknown0,
-  DWORD Unknown1,
-  DWORD Unknown2);
+  LPCWSTR ClassNameOrAtom,
+  HINSTANCE hInstance,
+  DWORD Unknown);
 
-DWORD
-STDCALL
-NtUserUnregisterHotKey(
-  DWORD Unknown0,
-  DWORD Unknown1);
+BOOL
+NTAPI
+NtUserUnregisterHotKey(HWND hWnd,
+                      int id);
 
 DWORD
-STDCALL
+NTAPI
 NtUserUpdateInputContext(
   DWORD Unknown0,
   DWORD Unknown1,
   DWORD Unknown2);
 
 DWORD
-STDCALL
+NTAPI
 NtUserUpdateInstance(
   DWORD Unknown0,
   DWORD Unknown1,
   DWORD Unknown2);
 
-BOOL STDCALL
-NtUserUpdateWindow( HWND hWnd );
-
 DWORD
-STDCALL
+NTAPI
 NtUserUpdateLayeredWindow(
   DWORD Unknown0,
   DWORD Unknown1,
@@ -1734,53 +1876,49 @@ NtUserUpdateLayeredWindow(
   DWORD Unknown7,
   DWORD Unknown8);
 
-DWORD
-STDCALL
+BOOL
+NTAPI
 NtUserUpdatePerUserSystemParameters(
-  DWORD Unknown0,
-  DWORD Unknown1);
+  DWORD dwReserved,
+  BOOL bEnable);
 
 DWORD
-STDCALL
+NTAPI
 NtUserUserHandleGrantAccess(
   DWORD Unknown0,
   DWORD Unknown1,
   DWORD Unknown2);
 
 DWORD
-STDCALL
+NTAPI
 NtUserValidateHandleSecure(
   DWORD Unknown0);
 
-VOID STDCALL
-NtUserValidateRect(HWND Wnd, const RECT* Rect);
-
-
 DWORD
-STDCALL
+NTAPI
 NtUserVkKeyScanEx(
   DWORD Unknown0,
   DWORD Unknown1,
   DWORD Unknown2);
 
 DWORD
-STDCALL
+NTAPI
 NtUserWaitForInputIdle(
   DWORD Unknown0,
   DWORD Unknown1,
   DWORD Unknown2);
 
 DWORD
-STDCALL
+NTAPI
 NtUserWaitForMsgAndEvent(
   DWORD Unknown0);
 
 BOOL
-STDCALL
+NTAPI
 NtUserWaitMessage(VOID);
 
 DWORD
-STDCALL
+NTAPI
 NtUserWin32PoolAllocationStats(
   DWORD Unknown0,
   DWORD Unknown1,
@@ -1789,31 +1927,91 @@ NtUserWin32PoolAllocationStats(
   DWORD Unknown4,
   DWORD Unknown5);
 
-DWORD
-STDCALL
+HWND
+NTAPI
 NtUserWindowFromPoint(
-  DWORD Unknown0,
-  DWORD Unknown1);
+  LONG X,
+  LONG Y);
 
 DWORD
-STDCALL
+NTAPI
 NtUserYieldTask(VOID);
 
-DWORD STDCALL
+DWORD NTAPI
 NtUserGetWindowThreadProcessId(HWND hWnd, LPDWORD UnsafePid);
 
-DWORD STDCALL
+DWORD NTAPI
 NtUserGetQueueStatus(BOOL ClearChanges);
 
-HWND STDCALL
+HWND NTAPI
 NtUserGetParent(HWND hWnd);
 
-HWND STDCALL
+HWND NTAPI
 NtUserGetWindow(HWND hWnd, UINT Relationship);
 
-HWND STDCALL
+HWND NTAPI
 NtUserGetLastActivePopup(HWND hWnd);
+typedef struct _WndProcHandle
+{
+  WNDPROC WindowProc;
+  BOOL IsUnicode;
+  HANDLE ProcessID;
+} WndProcHandle;
                                     
+DWORD NTAPI
+NtUserDereferenceWndProcHandle(WNDPROC wpHandle, WndProcHandle *Data);
+
+VOID NTAPI
+NtUserManualGuiCheck(LONG Check);
+
+#define NtUserGetDCBrushColor(hbr) \
+  (COLORREF)NtUserCallTwoParam((DWORD)(hbr), OBJ_BRUSH, TWOPARAM_ROUTINE_GETDCCOLOR)
+
+#define NtUserGetDCPenColor(hbr) \
+  (COLORREF)NtUserCallTwoParam((DWORD)(hbr), OBJ_PEN, TWOPARAM_ROUTINE_GETDCCOLOR)
+
+#define NtUserSetDCBrushColor(hbr, crColor) \
+  (COLORREF)NtUserCallTwoParam((DWORD)(hbr), (DWORD)crColor, TWOPARAM_ROUTINE_SETDCBRUSHCOLOR)
+
+#define NtUserSetDCPenColor(hbr, crColor) \
+  (COLORREF)NtUserCallTwoParam((DWORD)(hbr), (DWORD)crColor, TWOPARAM_ROUTINE_SETDCPENCOLOR)
+
+typedef struct _SETSCROLLBARINFO
+{
+  int nTrackPos; 
+  int reserved;
+  DWORD rgstate[CCHILDREN_SCROLLBAR+1];
+} SETSCROLLBARINFO, *PSETSCROLLBARINFO;
+
+BOOL
+NTAPI
+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;
+
 #endif /* __WIN32K_NTUSER_H */
 
 /* EOF */