mirror of
https://github.com/reactos/reactos.git
synced 2024-06-28 17:01:28 +00:00
- make Simplecall definitions (NtUserCallXxx) compatible to different Win versions (currently XP and Vista), using an enum and conditional compiling
- move incompatible definitions to the bottom of ntuser.h (bad section) - fix parameters of NtUserCallHwnd* and move the rest of them to simplecall.c svn path=/trunk/; revision=32743
This commit is contained in:
parent
b690ccfd98
commit
19761f316e
|
@ -197,7 +197,7 @@ BOOL
|
|||
STDCALL
|
||||
DeregisterShellHookWindow(HWND hWnd)
|
||||
{
|
||||
return NtUserCallHwnd(HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW, (DWORD)hWnd);
|
||||
return NtUserCallHwnd(hWnd, HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -207,7 +207,7 @@ BOOL
|
|||
STDCALL
|
||||
RegisterShellHookWindow(HWND hWnd)
|
||||
{
|
||||
return NtUserCallHwnd(HWND_ROUTINE_REGISTERSHELLHOOKWINDOW, (DWORD)hWnd);
|
||||
return NtUserCallHwnd(hWnd, HWND_ROUTINE_REGISTERSHELLHOOKWINDOW);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -479,30 +479,199 @@ NtUserBuildPropList(
|
|||
DWORD BufferSize,
|
||||
DWORD *Count);
|
||||
|
||||
enum {
|
||||
/* apfnSimpleCall indices from Windows XP SP 2 */
|
||||
/* TODO: Check for differences in Windows 2000, 2003 and 2008 */
|
||||
#define WIN32K_VERSION NTDDI_WINXPSP2 // FIXME: this should go somewhere else
|
||||
|
||||
enum SimpleCallRoutines
|
||||
{
|
||||
NOPARAM_ROUTINE_CREATEMENU,
|
||||
NOPARAM_ROUTINE_CREATEMENUPOPUP,
|
||||
#if (WIN32K_VERSION >= NTDDI_VISTA)
|
||||
NOPARAM_ROUTINE_ALLOWFOREGNDACTIVATION,
|
||||
NOPARAM_ROUTINE_MSQCLEARWAKEMASK,
|
||||
NOPARAM_ROUTINE_CREATESYSTEMTHREADS,
|
||||
NOPARAM_ROUTINE_DESTROY_CARET,
|
||||
#endif
|
||||
NOPARAM_ROUTINE_ENABLEPROCWNDGHSTING,
|
||||
#if (WIN32K_VERSION < NTDDI_VISTA)
|
||||
NOPARAM_ROUTINE_MSQCLEARWAKEMASK,
|
||||
NOPARAM_ROUTINE_ALLOWFOREGNDACTIVATION,
|
||||
NOPARAM_ROUTINE_DESTROY_CARET,
|
||||
#endif
|
||||
NOPARAM_ROUTINE_GETDEVICECHANGEINFO,
|
||||
NOPARAM_ROUTINE_GETIMESHOWSTATUS,
|
||||
NOPARAM_ROUTINE_GETINPUTDESKTOP,
|
||||
NOPARAM_ROUTINE_GETMSESSAGEPOS,
|
||||
#if (WIN32K_VERSION >= NTDDI_VISTA)
|
||||
NOPARAM_ROUTINE_HANDLESYSTHRDCREATFAIL,
|
||||
#else
|
||||
NOPARAM_ROUTINE_GETREMOTEPROCID,
|
||||
#endif
|
||||
NOPARAM_ROUTINE_HIDECURSORNOCAPTURE,
|
||||
NOPARAM_ROUTINE_LOADCURSANDICOS,
|
||||
#if (WIN32K_VERSION >= NTDDI_VISTA)
|
||||
NOPARAM_ROUTINE_LOADUSERAPIHOOK,
|
||||
NOPARAM_ROUTINE_PREPAREFORLOGOFF, /* 0x0f */
|
||||
#endif
|
||||
NOPARAM_ROUTINE_RELEASECAPTURE,
|
||||
NOPARAM_ROUTINE_RESETDBLCLICK,
|
||||
NOPARAM_ROUTINE_ZAPACTIVEANDFOUS,
|
||||
NOPARAM_ROUTINE_REMOTECONSHDWSTOP,
|
||||
NOPARAM_ROUTINE_REMOTEDISCONNECT,
|
||||
NOPARAM_ROUTINE_REMOTELOGOFF,
|
||||
NOPARAM_ROUTINE_REMOTENTSECURITY,
|
||||
NOPARAM_ROUTINE_REMOTESHDWSETUP,
|
||||
NOPARAM_ROUTINE_REMOTESHDWSTOP,
|
||||
NOPARAM_ROUTINE_REMOTEPASSTHRUENABLE,
|
||||
NOPARAM_ROUTINE_REMOTEPASSTHRUDISABLE,
|
||||
NOPARAM_ROUTINE_REMOTECONNECTSTATE,
|
||||
NOPARAM_ROUTINE_UPDATEPERUSERIMMENABLING,
|
||||
NOPARAM_ROUTINE_USERPWRCALLOUTWORKER,
|
||||
#if (WIN32K_VERSION >= NTDDI_VISTA)
|
||||
NOPARAM_ROUTINE_WAKERITFORSHTDWN,
|
||||
#endif
|
||||
NOPARAM_ROUTINE_INIT_MESSAGE_PUMP,
|
||||
NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP,
|
||||
#if (WIN32K_VERSION < NTDDI_VISTA)
|
||||
NOPARAM_ROUTINE_LOADUSERAPIHOOK,
|
||||
#endif
|
||||
ONEPARAM_ROUTINE_BEGINDEFERWNDPOS,
|
||||
#if (WIN32K_VERSION >= NTDDI_VISTA)
|
||||
ONEPARAM_ROUTINE_GETSENDMSGRECVR,
|
||||
#endif
|
||||
ONEPARAM_ROUTINE_WINDOWFROMDC,
|
||||
ONEPARAM_ROUTINE_ALLOWSETFOREGND,
|
||||
ONEPARAM_ROUTINE_CREATEEMPTYCUROBJECT,
|
||||
#if (WIN32K_VERSION < NTDDI_VISTA)
|
||||
ONEPARAM_ROUTINE_CREATESYSTEMTHREADS,
|
||||
#endif
|
||||
ONEPARAM_ROUTINE_CSDDEUNINITIALIZE,
|
||||
ONEPARAM_ROUTINE_DIRECTEDYIELD,
|
||||
ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS,
|
||||
#if (WIN32K_VERSION < NTDDI_VISTA)
|
||||
ONEPARAM_ROUTINE_GETCURSORPOS,
|
||||
#endif
|
||||
ONEPARAM_ROUTINE_GETINPUTEVENT,
|
||||
ONEPARAM_ROUTINE_GETKEYBOARDLAYOUT,
|
||||
ONEPARAM_ROUTINE_GETKEYBOARDTYPE,
|
||||
ONEPARAM_ROUTINE_GETPROCDEFLAYOUT,
|
||||
ONEPARAM_ROUTINE_GETQUEUESTATUS,
|
||||
ONEPARAM_ROUTINE_GETWINSTAINFO,
|
||||
#if (WIN32K_VERSION < NTDDI_VISTA)
|
||||
ONEPARAM_ROUTINE_HANDLESYSTHRDCREATFAIL,
|
||||
#endif
|
||||
ONEPARAM_ROUTINE_LOCKFOREGNDWINDOW,
|
||||
ONEPARAM_ROUTINE_LOADFONTS,
|
||||
ONEPARAM_ROUTINE_MAPDEKTOPOBJECT,
|
||||
ONEPARAM_ROUTINE_MESSAGEBEEP,
|
||||
ONEPARAM_ROUTINE_PLAYEVENTSOUND,
|
||||
ONEPARAM_ROUTINE_POSTQUITMESSAGE,
|
||||
#if (WIN32K_VERSION < NTDDI_VISTA)
|
||||
ONEPARAM_ROUTINE_PREPAREFORLOGOFF,
|
||||
#endif
|
||||
ONEPARAM_ROUTINE_REALIZEPALETTE,
|
||||
ONEPARAM_ROUTINE_REGISTERLPK,
|
||||
#if (WIN32K_VERSION >= NTDDI_VISTA)
|
||||
ONEPARAM_ROUTINE_REGISTERSYSTEMTHREAD,
|
||||
#endif
|
||||
ONEPARAM_ROUTINE_REMOTERECONNECT,
|
||||
ONEPARAM_ROUTINE_REMOTETHINWIRESTATUS,
|
||||
ONEPARAM_ROUTINE_RELEASEDC,
|
||||
#if (WIN32K_VERSION >= NTDDI_VISTA)
|
||||
ONEPARAM_ROUTINE_REMOTENOTIFY,
|
||||
#endif
|
||||
ONEPARAM_ROUTINE_REPLYMESSAGE,
|
||||
ONEPARAM_ROUTINE_SETCARETBLINKTIME,
|
||||
ONEPARAM_ROUTINE_SETDBLCLICKTIME,
|
||||
#if (WIN32K_VERSION < NTDDI_VISTA)
|
||||
ONEPARAM_ROUTINE_SETIMESHOWSTATUS,
|
||||
#endif
|
||||
ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO,
|
||||
ONEPARAM_ROUTINE_SETPROCDEFLAYOUT,
|
||||
#if (WIN32K_VERSION >= NTDDI_VISTA)
|
||||
ONEPARAM_ROUTINE_SETWATERMARKSTRINGS,
|
||||
#endif
|
||||
ONEPARAM_ROUTINE_SHOWCURSOR,
|
||||
ONEPARAM_ROUTINE_SHOWSTARTGLASS,
|
||||
ONEPARAM_ROUTINE_SWAPMOUSEBUTTON,
|
||||
X_ROUTINE_WOWMODULEUNLOAD,
|
||||
#if (WIN32K_VERSION < NTDDI_VISTA)
|
||||
X_ROUTINE_REMOTENOTIFY,
|
||||
#endif
|
||||
HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW,
|
||||
HWND_ROUTINE_DWP_GETENABLEDPOPUP,
|
||||
HWND_ROUTINE_GETWNDCONTEXTHLPID,
|
||||
HWND_ROUTINE_REGISTERSHELLHOOKWINDOW,
|
||||
HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW
|
||||
HWND_ROUTINE_SETMSGBOX,
|
||||
HWNDOPT_ROUTINE_SETPROGMANWINDOW,
|
||||
HWNDOPT_ROUTINE_SETTASKMANWINDOW,
|
||||
HWNDPARAM_ROUTINE_GETCLASSICOCUR,
|
||||
HWNDPARAM_ROUTINE_CLEARWINDOWSTATE,
|
||||
HWNDPARAM_ROUTINE_KILLSYSTEMTIMER,
|
||||
HWNDPARAM_ROUTINE_SETDIALOGPOINTER,
|
||||
HWNDPARAM_ROUTINE_SETVISIBLE,
|
||||
HWNDPARAM_ROUTINE_SETWNDCONTEXTHLPID,
|
||||
HWNDPARAM_ROUTINE_SETWINDOWSTATE,
|
||||
HWNDLOCK_ROUTINE_WINDOWHASSHADOW, /* correct prefix ? */
|
||||
HWNDLOCK_ROUTINE_ARRANGEICONICWINDOWS,
|
||||
HWNDLOCK_ROUTINE_DRAWMENUBAR,
|
||||
HWNDLOCK_ROUTINE_CHECKIMESHOWSTATUSINTHRD,
|
||||
HWNDLOCK_ROUTINE_GETSYSMENUHANDLE,
|
||||
HWNDLOCK_ROUTINE_REDRAWFRAME,
|
||||
HWNDLOCK_ROUTINE_REDRAWFRAMEANDHOOK,
|
||||
HWNDLOCK_ROUTINE_SETDLGSYSMENU,
|
||||
HWNDLOCK_ROUTINE_SETFOREGROUNDWINDOW,
|
||||
HWNDLOCK_ROUTINE_SETSYSMENU,
|
||||
HWNDLOCK_ROUTINE_UPDATECKIENTRECT,
|
||||
HWNDLOCK_ROUTINE_UPDATEWINDOW,
|
||||
X_ROUTINE_IMESHOWSTATUSCHANGE,
|
||||
TWOPARAM_ROUTINE_ENABLEWINDOW,
|
||||
TWOPARAM_ROUTINE_REDRAWTITLE,
|
||||
TWOPARAM_ROUTINE_SHOWOWNEDPOPUPS,
|
||||
TWOPARAM_ROUTINE_SWITCHTOTHISWINDOW,
|
||||
TWOPARAM_ROUTINE_UPDATEWINDOWS,
|
||||
TWOPARAM_ROUTINE_VALIDATERGN,
|
||||
#if (WIN32K_VERSION >= NTDDI_VISTA)
|
||||
TWOPARAM_ROUTINE_CHANGEWNDMSGFILTER,
|
||||
TWOPARAM_ROUTINE_GETCURSORPOS,
|
||||
#endif
|
||||
TWOPARAM_ROUTINE_GETHDEVNAME,
|
||||
TWOPARAM_ROUTINE_INITANSIOEM,
|
||||
TWOPARAM_ROUTINE_NLSSENDIMENOTIFY,
|
||||
#if (WIN32K_VERSION >= NTDDI_VISTA)
|
||||
TWOPARAM_ROUTINE_REGISTERGHSTWND,
|
||||
#endif
|
||||
TWOPARAM_ROUTINE_REGISTERLOGONPROCESS,
|
||||
#if (WIN32K_VERSION >= NTDDI_VISTA)
|
||||
TWOPARAM_ROUTINE_REGISTERSBLFROSTWND,
|
||||
#else
|
||||
TWOPARAM_ROUTINE_REGISTERSYSTEMTHREAD,
|
||||
#endif
|
||||
TWOPARAM_ROUTINE_REGISTERUSERHUNGAPPHANDLERS,
|
||||
TWOPARAM_ROUTINE_SHADOWCLEANUP,
|
||||
TWOPARAM_ROUTINE_REMOTESHADOWSTART,
|
||||
TWOPARAM_ROUTINE_SETCARETPOS,
|
||||
TWOPARAM_ROUTINE_SETCURSORPOS,
|
||||
#if (WIN32K_VERSION >= NTDDI_VISTA)
|
||||
TWOPARAM_ROUTINE_SETPHYSCURSORPOS,
|
||||
#endif
|
||||
TWOPARAM_ROUTINE_UNHOOKWINDOWSHOOK,
|
||||
TWOPARAM_ROUTINE_WOWCLEANUP
|
||||
};
|
||||
|
||||
DWORD
|
||||
NTAPI
|
||||
NtUserCallHwnd(
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1);
|
||||
HWND hWnd,
|
||||
DWORD Routine);
|
||||
|
||||
#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
|
||||
NTAPI
|
||||
NtUserCallHwndLock(
|
||||
HWND hWnd,
|
||||
DWORD Routine);
|
||||
|
||||
#define HWNDOPT_ROUTINE_SETPROGMANWINDOW 0x4A
|
||||
#define HWNDOPT_ROUTINE_SETTASKMANWINDOW 0x4B
|
||||
HWND
|
||||
NTAPI
|
||||
NtUserCallHwndOpt(
|
||||
|
@ -512,16 +681,16 @@ NtUserCallHwndOpt(
|
|||
DWORD
|
||||
NTAPI
|
||||
NtUserCallHwndParam(
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1,
|
||||
DWORD Unknown2);
|
||||
HWND hWnd,
|
||||
DWORD Param,
|
||||
DWORD Routine);
|
||||
|
||||
DWORD
|
||||
NTAPI
|
||||
NtUserCallHwndParamLock(
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1,
|
||||
DWORD Unknown2);
|
||||
HWND hWnd,
|
||||
DWORD Param,
|
||||
DWORD Routine);
|
||||
|
||||
BOOL
|
||||
NTAPI
|
||||
|
@ -537,82 +706,17 @@ NtUserCallNextHookEx(
|
|||
WPARAM wParam,
|
||||
LPARAM lParam);
|
||||
|
||||
#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_GETMESSAGEEXTRAINFO 0xffff0005
|
||||
#define NOPARAM_ROUTINE_ANYPOPUP 0xffff0006
|
||||
#define NOPARAM_ROUTINE_CSRSS_INITIALIZED 0xffff0007
|
||||
DWORD
|
||||
NTAPI
|
||||
NtUserCallNoParam(
|
||||
DWORD Routine);
|
||||
|
||||
#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_ENABLEWINDOW 0x60
|
||||
#define TWOPARAM_ROUTINE_SHOWOWNEDPOPUPS 0x62
|
||||
#define TWOPARAM_ROUTINE_SWITCHTOTHISWINDOW 0x63
|
||||
|
||||
#define TWOPARAM_ROUTINE_GETWINDOWRGNBOX 0xfffd0048 /* Private ROS */
|
||||
#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_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
|
||||
#define TWOPARAM_ROUTINE_ROS_REGSYSCLASSES 0x1003
|
||||
#define TWOPARAM_ROUTINE_ROS_UPDATEUISTATE 0x1004
|
||||
DWORD
|
||||
NTAPI
|
||||
NtUserCallTwoParam(
|
||||
|
@ -638,19 +742,20 @@ NtUserChangeDisplaySettings(
|
|||
DWORD
|
||||
STDCALL
|
||||
NtUserCheckImeHotKey(
|
||||
DWORD dwUnknown1,
|
||||
DWORD dwUnknown2);
|
||||
DWORD dwUnknown1,
|
||||
DWORD dwUnknown2);
|
||||
|
||||
HWND NTAPI
|
||||
NtUserChildWindowFromPointEx(HWND Parent,
|
||||
LONG x,
|
||||
LONG y,
|
||||
UINT Flags);
|
||||
NtUserChildWindowFromPointEx(
|
||||
HWND Parent,
|
||||
LONG x,
|
||||
LONG y,
|
||||
UINT Flags);
|
||||
|
||||
BOOL
|
||||
NTAPI
|
||||
NtUserClipCursor(
|
||||
RECT *lpRect);
|
||||
RECT *lpRect);
|
||||
|
||||
BOOL
|
||||
NTAPI
|
||||
|
@ -669,9 +774,9 @@ NtUserCloseWindowStation(
|
|||
DWORD
|
||||
NTAPI
|
||||
NtUserConsoleControl(
|
||||
DWORD dwUnknown1,
|
||||
DWORD dwUnknown2,
|
||||
DWORD dwUnknown3);
|
||||
DWORD dwUnknown1,
|
||||
DWORD dwUnknown2,
|
||||
DWORD dwUnknown3);
|
||||
|
||||
DWORD
|
||||
NTAPI
|
||||
|
@ -2367,9 +2472,55 @@ typedef struct tagKMDDELPARAM
|
|||
|
||||
|
||||
/* NtUserBad
|
||||
* ReactOS-specific NtUser calls and their related structures, both which shouldn't exist.
|
||||
* ReactOS-specific NtUser calls and their related structures, both which shouldn't exist.
|
||||
*/
|
||||
|
||||
#define NOPARAM_ROUTINE_REGISTER_PRIMITIVE 0xffff0001
|
||||
#define NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO 0xffff0005
|
||||
#define NOPARAM_ROUTINE_ANYPOPUP 0xffff0006
|
||||
#define NOPARAM_ROUTINE_CSRSS_INITIALIZED 0xffff0007
|
||||
#define ONEPARAM_ROUTINE_GETMENU 0xfffe0001 // usermode
|
||||
#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 // CREATE_EMPTY_CURSOR_OBJECT ?
|
||||
#define ONEPARAM_ROUTINE_MSQSETWAKEMASK 0xfffe0027
|
||||
#define ONEPARAM_ROUTINE_REGISTERUSERMODULE 0xfffe0031
|
||||
#define ONEPARAM_ROUTINE_GETWNDCONTEXTHLPID 0xfffe0047 // use HWND_ROUTINE_GETWNDCONTEXTHLPID
|
||||
#define ONEPARAM_ROUTINE_GETCURSORPOSITION 0xfffe0048 // use ONEPARAM_ or TWOPARAM routine ?
|
||||
|
||||
#define TWOPARAM_ROUTINE_ENABLEWINDOW 0x60
|
||||
#define TWOPARAM_ROUTINE_SHOWOWNEDPOPUPS 0x62
|
||||
#define TWOPARAM_ROUTINE_SWITCHTOTHISWINDOW 0x63
|
||||
#define TWOPARAM_ROUTINE_GETWINDOWRGNBOX 0xfffd0048 // user mode
|
||||
#define TWOPARAM_ROUTINE_GETWINDOWRGN 0xfffd0049 // user mode
|
||||
#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_SETWNDCONTEXTHLPID 0xfffd0058 // use HWNDPARAM_ROUTINE_SETWNDCONTEXTHLPID
|
||||
#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
|
||||
#define TWOPARAM_ROUTINE_ROS_REGSYSCLASSES 0x1003
|
||||
#define TWOPARAM_ROUTINE_ROS_UPDATEUISTATE 0x1004
|
||||
|
||||
DWORD
|
||||
NTAPI
|
||||
NtUserBuildMenuItemList(
|
||||
|
|
|
@ -65,54 +65,6 @@ NtUserBuildHimcList(
|
|||
return 0;
|
||||
}
|
||||
|
||||
DWORD
|
||||
STDCALL
|
||||
NtUserCallHwnd(
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1)
|
||||
{
|
||||
switch (Unknown0)
|
||||
{
|
||||
case HWND_ROUTINE_REGISTERSHELLHOOKWINDOW:
|
||||
if (IntIsWindow((HWND) Unknown1))
|
||||
return IntRegisterShellHookWindow((HWND) Unknown1);
|
||||
return FALSE;
|
||||
break;
|
||||
case HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW:
|
||||
if (IntIsWindow((HWND) Unknown1))
|
||||
return IntDeRegisterShellHookWindow((HWND) Unknown1);
|
||||
return FALSE;
|
||||
}
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
DWORD
|
||||
STDCALL
|
||||
NtUserCallHwndParam(
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1,
|
||||
DWORD Unknown2)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
DWORD
|
||||
STDCALL
|
||||
NtUserCallHwndParamLock(
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1,
|
||||
DWORD Unknown2)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
DWORD
|
||||
STDCALL
|
||||
NtUserConvertMemHandle(
|
||||
|
|
|
@ -823,21 +823,68 @@ CLEANUP:
|
|||
HWND
|
||||
STDCALL
|
||||
NtUserCallHwndOpt(
|
||||
HWND Param,
|
||||
HWND hWnd,
|
||||
DWORD Routine)
|
||||
{
|
||||
switch (Routine)
|
||||
{
|
||||
case HWNDOPT_ROUTINE_SETPROGMANWINDOW:
|
||||
GetW32ThreadInfo()->Desktop->hProgmanWindow = Param;
|
||||
GetW32ThreadInfo()->Desktop->hProgmanWindow = hWnd;
|
||||
break;
|
||||
|
||||
case HWNDOPT_ROUTINE_SETTASKMANWINDOW:
|
||||
GetW32ThreadInfo()->Desktop->hTaskManWindow = Param;
|
||||
GetW32ThreadInfo()->Desktop->hTaskManWindow = hWnd;
|
||||
break;
|
||||
}
|
||||
|
||||
return Param;
|
||||
return hWnd;
|
||||
}
|
||||
|
||||
DWORD
|
||||
STDCALL
|
||||
NtUserCallHwnd(
|
||||
HWND hWnd,
|
||||
DWORD Routine)
|
||||
{
|
||||
switch (Routine)
|
||||
{
|
||||
case HWND_ROUTINE_REGISTERSHELLHOOKWINDOW:
|
||||
if (IntIsWindow(hWnd))
|
||||
return IntRegisterShellHookWindow(hWnd);
|
||||
return FALSE;
|
||||
break;
|
||||
case HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW:
|
||||
if (IntIsWindow(hWnd))
|
||||
return IntDeRegisterShellHookWindow(hWnd);
|
||||
return FALSE;
|
||||
}
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
DWORD
|
||||
STDCALL
|
||||
NtUserCallHwndParam(
|
||||
HWND hWnd,
|
||||
DWORD Param,
|
||||
DWORD Routine)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
DWORD
|
||||
STDCALL
|
||||
NtUserCallHwndParamLock(
|
||||
HWND hWnd,
|
||||
DWORD Param,
|
||||
DWORD Routine)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
|
Loading…
Reference in a new issue