- started fixing NtUserCallXxx defines

- moved bad NtUserXxx macros to bottom
- added some comments to ntuser bad stuff

svn path=/trunk/; revision=32729
This commit is contained in:
Timo Kreuzer 2008-03-21 00:01:33 +00:00
parent dc06e447c7
commit 51792c41f0

View file

@ -506,7 +506,7 @@ NtUserCallHwndLock(
HWND
NTAPI
NtUserCallHwndOpt(
HWND Param,
HWND hWnd,
DWORD Routine);
DWORD
@ -539,11 +539,14 @@ NtUserCallNextHookEx(
#define NOPARAM_ROUTINE_CREATEMENU 0x0
#define NOPARAM_ROUTINE_CREATEMENUPOPUP 0x1
//#define ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING 0x2
#define NOPARAM_ROUTINE_MSQCLEARWAKEMASK 0x3
//#define ONEPARAM_ROUTINE_ALLOWFOREGNDACTIVATION 0x04
#define NOPARAM_ROUTINE_DESTROY_CARET 0x5
#define NOPARAM_ROUTINE_INIT_MESSAGE_PUMP 0x1b
#define NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP 0x1c
#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
@ -552,61 +555,62 @@ 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
#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_GETDESKTOPMAPPING 0x0e
#define ONEPARAM_ROUTINE_GETWINDOWINSTANCE 0x10
#define ONEPARAM_ROUTINE_CREATECURICONHANDLE 0x25
#define ONEPARAM_ROUTINE_MSQSETWAKEMASK 0x27
#define ONEPARAM_ROUTINE_GETKEYBOARDTYPE 0x28
#define ONEPARAM_ROUTINE_GETKEYBOARDLAYOUT 0x29
#define ONEPARAM_ROUTINE_SHOWCURSOR 0x30
#define ONEPARAM_ROUTINE_REGISTERUSERMODULE 0x31
#define ONEPARAM_ROUTINE_WINDOWFROMDC 0x1f
#define ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS 0x25
#define ONEPARAM_ROUTINE_GETCURSORPOSITION 0x26
#define ONEPARAM_ROUTINE_GETKEYBOARDLAYOUT 0x28
#define ONEPARAM_ROUTINE_GETKEYBOARDTYPE 0x29
#define ONEPARAM_ROUTINE_REALIZEPALETTE 0x35
#define ONEPARAM_ROUTINE_RELEASEDC 0x39
#define ONEPARAM_ROUTINE_SETCARETBLINKTIME 0x3b
#define ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO 0x3e
#define ONEPARAM_ROUTINE_SHOWCURSOR 0x40
#define ONEPARAM_ROUTINE_SWAPMOUSEBUTTON 0x42
#define ONEPARAM_ROUTINE_GETWNDCONTEXTHLPID 0x47
#define ONEPARAM_ROUTINE_GETMENU 0xfffe0001 /* Private ROS */
#define ONEPARAM_ROUTINE_ISWINDOWUNICODE 0xfffe0002
#define ONEPARAM_ROUTINE_GETCARETINFO 0xfffe0007
#define ONEPARAM_ROUTINE_SWITCHCARETSHOWING 0xfffe0008
#define ONEPARAM_ROUTINE_ISWINDOWINDESTROY 0xfffe000c
#define ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING 0xfffe000d
#define ONEPARAM_ROUTINE_GETDESKTOPMAPPING 0xfffe000e
#define ONEPARAM_ROUTINE_GETWINDOWINSTANCE 0xfffe0010
#define ONEPARAM_ROUTINE_CREATECURICONHANDLE 0xfffe0025
#define ONEPARAM_ROUTINE_MSQSETWAKEMASK 0xfffe0027
#define ONEPARAM_ROUTINE_REGISTERUSERMODULE 0xfffe0031
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 TWOPARAM_ROUTINE_ENABLEWINDOW 0x60
#define TWOPARAM_ROUTINE_SHOWOWNEDPOPUPS 0x62
#define TWOPARAM_ROUTINE_SWITCHTOTHISWINDOW 0x63
#define TWOPARAM_ROUTINE_SETDCPENCOLOR 0xfffd0045 /* Private ROS */
#define TWOPARAM_ROUTINE_SETDCBRUSHCOLOR 0xfffd0046
#define TWOPARAM_ROUTINE_GETDCCOLOR 0xfffd0047
#define TWOPARAM_ROUTINE_GETWINDOWRGNBOX 0xfffd0048
#define TWOPARAM_ROUTINE_GETWINDOWRGN 0xfffd0049
#define TWOPARAM_ROUTINE_SETMENUBARHEIGHT 0xfffd0050
#define TWOPARAM_ROUTINE_SETMENUITEMRECT 0xfffd0051
#define TWOPARAM_ROUTINE_SETGUITHRDHANDLE 0xfffd0052
#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_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_SETWNDCONTEXTHLPID 0xfffd0058
#define TWOPARAM_ROUTINE_SETCARETPOS 0xfffd0060
#define TWOPARAM_ROUTINE_GETWINDOWINFO 0xfffd0061
#define TWOPARAM_ROUTINE_REGISTERLOGONPROC 0xfffd0062
#define TWOPARAM_ROUTINE_GETSYSCOLORBRUSHES 0xfffd0063
#define TWOPARAM_ROUTINE_GETSYSCOLORPENS 0xfffd0064
#define TWOPARAM_ROUTINE_GETSYSCOLORS 0xfffd0065
#define TWOPARAM_ROUTINE_SETSYSCOLORS 0xfffd0066 // use NtUserSetSysColors
#define TWOPARAM_ROUTINE_ROS_SHOWWINDOW 0x1000
#define TWOPARAM_ROUTINE_ROS_ISACTIVEICON 0x1001
#define TWOPARAM_ROUTINE_ROS_NCDESTROY 0x1002
@ -919,7 +923,7 @@ NtUserEnumDisplayMonitors (
LPCRECT lprcClip,
MONITORENUMPROC lpfnEnum,
LPARAM dwData );*/
/* FIXME: The call below is ros-specific and should be rewritten to use the same params as the correct call above. */
/* FIXME: The call below is ros-specific and should be rewritten to use the same params as the correct call above. */
INT
NTAPI
NtUserEnumDisplayMonitors(
@ -2339,18 +2343,6 @@ DWORD
NTAPI
NtUserYieldTask(VOID);
#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)
/* lParam of DDE messages */
typedef struct tagKMDDEEXECUTEDATA
{
@ -2381,6 +2373,24 @@ typedef struct tagKMDDELPARAM
* ReactOS-specific NtUser calls and their related structures, both which shouldn't exist.
*/
/* The following macros don't belong to ntuser, but are part of gdi */
/* Should be done in usermode */
#define NtUserGetDCBrushColor(hbr) \
(COLORREF)NtUserCallTwoParam((DWORD)(hbr), OBJ_BRUSH, TWOPARAM_ROUTINE_GETDCCOLOR)
/* Should be done in usermode */
#define NtUserGetDCPenColor(hbr) \
(COLORREF)NtUserCallTwoParam((DWORD)(hbr), OBJ_PEN, TWOPARAM_ROUTINE_GETDCCOLOR)
/* Should be done in usermode */
#define NtUserSetDCBrushColor(hbr, crColor) \
(COLORREF)NtUserCallTwoParam((DWORD)(hbr), (DWORD)crColor, TWOPARAM_ROUTINE_SETDCBRUSHCOLOR)
/* Should be done in usermode */
#define NtUserSetDCPenColor(hbr, crColor) \
(COLORREF)NtUserCallTwoParam((DWORD)(hbr), (DWORD)crColor, TWOPARAM_ROUTINE_SETDCPENCOLOR)
NTSTATUS
NTAPI
@ -2393,13 +2403,14 @@ NtUserBuildMenuItemList(
HMENU hMenu,
PVOID Buffer,
ULONG nBufSize,
DWORD Reserved);
DWORD Reserved);
/* Use ONEPARAM_ROUTINE_CREATEEMPTYCURSOROBJECT (0x21) ? */
HANDLE
NTAPI
NtUserCreateCursorIconHandle(
PICONINFO IconInfo,
BOOL Indirect);
BOOL Indirect);
typedef struct _WNDPROC_INFO
@ -2412,7 +2423,7 @@ BOOL
NTAPI
NtUserDereferenceWndProcHandle(IN HANDLE wpHandle, OUT PWNDPROC_INFO wpInfo);
/* Use ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS */
UINT
NTAPI
NtUserEnumClipboardFormats(
@ -2426,14 +2437,17 @@ HWND
NTAPI
NtUserGetCapture(VOID);
/* Should be done in usermode */
ULONG_PTR
NTAPI
NtUserGetClassLong(HWND hWnd, INT Offset, BOOL Ansi);
/* Should be done in usermode */
BOOL
NTAPI
NtUserGetClientOrigin(HWND hWnd, LPPOINT Point);
/* Should be done in usermode */
BOOL
NTAPI
NtUserGetClientRect(HWND hWnd, LPRECT Rect);
@ -2467,6 +2481,7 @@ NtUserGetMonitorInfo(
IN HMONITOR hMonitor,
OUT LPMONITORINFO pMonitorInfo);
/* Should be done in usermode */
HANDLE
NTAPI
NtUserGetProp(HWND hWnd, ATOM Atom);
@ -2494,10 +2509,12 @@ HWND
NTAPI
NtUserGetWindow(HWND hWnd, UINT Relationship);
/* Should be done in usermode */
LONG
NTAPI
NtUserGetWindowLong(HWND hWnd, DWORD Index, BOOL Ansi);
/* Should be done in usermode */
BOOL
NTAPI
NtUserGetWindowRect(HWND hWnd, LPRECT Rect);
@ -2638,6 +2655,7 @@ typedef struct tagNTUSERSENDMESSAGEINFO
WNDPROC Proc;
} NTUSERSENDMESSAGEINFO, *PNTUSERSENDMESSAGEINFO;
/* use NtUserMessageCall */
LRESULT NTAPI
NtUserSendMessage(HWND hWnd,
UINT Msg,
@ -2645,6 +2663,7 @@ NtUserSendMessage(HWND hWnd,
LPARAM lParam,
PNTUSERSENDMESSAGEINFO Info);
/* use NtUserMessageCall */
BOOL
NTAPI
NtUserSendMessageCallback(
@ -2655,6 +2674,7 @@ NtUserSendMessageCallback(
SENDASYNCPROC lpCallBack,
ULONG_PTR dwData);
/* use NtUserMessageCall */
LRESULT NTAPI
NtUserSendMessageTimeout(HWND hWnd,
UINT Msg,
@ -2665,7 +2685,7 @@ NtUserSendMessageTimeout(HWND hWnd,
ULONG_PTR *uResult,
PNTUSERSENDMESSAGEINFO Info);
/* use NtUserMessageCall */
BOOL
NTAPI
NtUserSendNotifyMessage(