mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 20:25:39 +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
4 changed files with 297 additions and 147 deletions
|
@ -197,7 +197,7 @@ BOOL
|
||||||
STDCALL
|
STDCALL
|
||||||
DeregisterShellHookWindow(HWND hWnd)
|
DeregisterShellHookWindow(HWND hWnd)
|
||||||
{
|
{
|
||||||
return NtUserCallHwnd(HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW, (DWORD)hWnd);
|
return NtUserCallHwnd(hWnd, HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -207,7 +207,7 @@ BOOL
|
||||||
STDCALL
|
STDCALL
|
||||||
RegisterShellHookWindow(HWND hWnd)
|
RegisterShellHookWindow(HWND hWnd)
|
||||||
{
|
{
|
||||||
return NtUserCallHwnd(HWND_ROUTINE_REGISTERSHELLHOOKWINDOW, (DWORD)hWnd);
|
return NtUserCallHwnd(hWnd, HWND_ROUTINE_REGISTERSHELLHOOKWINDOW);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -479,30 +479,199 @@ NtUserBuildPropList(
|
||||||
DWORD BufferSize,
|
DWORD BufferSize,
|
||||||
DWORD *Count);
|
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_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
|
DWORD
|
||||||
NTAPI
|
NTAPI
|
||||||
NtUserCallHwnd(
|
NtUserCallHwnd(
|
||||||
DWORD Unknown0,
|
HWND hWnd,
|
||||||
DWORD Unknown1);
|
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
|
BOOL
|
||||||
NTAPI
|
NTAPI
|
||||||
NtUserCallHwndLock(
|
NtUserCallHwndLock(
|
||||||
HWND hWnd,
|
HWND hWnd,
|
||||||
DWORD Routine);
|
DWORD Routine);
|
||||||
|
|
||||||
#define HWNDOPT_ROUTINE_SETPROGMANWINDOW 0x4A
|
|
||||||
#define HWNDOPT_ROUTINE_SETTASKMANWINDOW 0x4B
|
|
||||||
HWND
|
HWND
|
||||||
NTAPI
|
NTAPI
|
||||||
NtUserCallHwndOpt(
|
NtUserCallHwndOpt(
|
||||||
|
@ -512,16 +681,16 @@ NtUserCallHwndOpt(
|
||||||
DWORD
|
DWORD
|
||||||
NTAPI
|
NTAPI
|
||||||
NtUserCallHwndParam(
|
NtUserCallHwndParam(
|
||||||
DWORD Unknown0,
|
HWND hWnd,
|
||||||
DWORD Unknown1,
|
DWORD Param,
|
||||||
DWORD Unknown2);
|
DWORD Routine);
|
||||||
|
|
||||||
DWORD
|
DWORD
|
||||||
NTAPI
|
NTAPI
|
||||||
NtUserCallHwndParamLock(
|
NtUserCallHwndParamLock(
|
||||||
DWORD Unknown0,
|
HWND hWnd,
|
||||||
DWORD Unknown1,
|
DWORD Param,
|
||||||
DWORD Unknown2);
|
DWORD Routine);
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
NTAPI
|
NTAPI
|
||||||
|
@ -537,82 +706,17 @@ NtUserCallNextHookEx(
|
||||||
WPARAM wParam,
|
WPARAM wParam,
|
||||||
LPARAM lParam);
|
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
|
DWORD
|
||||||
NTAPI
|
NTAPI
|
||||||
NtUserCallNoParam(
|
NtUserCallNoParam(
|
||||||
DWORD Routine);
|
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
|
DWORD
|
||||||
NTAPI
|
NTAPI
|
||||||
NtUserCallOneParam(
|
NtUserCallOneParam(
|
||||||
DWORD Param,
|
DWORD Param,
|
||||||
DWORD Routine);
|
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
|
DWORD
|
||||||
NTAPI
|
NTAPI
|
||||||
NtUserCallTwoParam(
|
NtUserCallTwoParam(
|
||||||
|
@ -642,7 +746,8 @@ NtUserCheckImeHotKey(
|
||||||
DWORD dwUnknown2);
|
DWORD dwUnknown2);
|
||||||
|
|
||||||
HWND NTAPI
|
HWND NTAPI
|
||||||
NtUserChildWindowFromPointEx(HWND Parent,
|
NtUserChildWindowFromPointEx(
|
||||||
|
HWND Parent,
|
||||||
LONG x,
|
LONG x,
|
||||||
LONG y,
|
LONG y,
|
||||||
UINT Flags);
|
UINT Flags);
|
||||||
|
@ -2370,6 +2475,52 @@ typedef struct tagKMDDELPARAM
|
||||||
* 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
|
DWORD
|
||||||
NTAPI
|
NTAPI
|
||||||
NtUserBuildMenuItemList(
|
NtUserBuildMenuItemList(
|
||||||
|
|
|
@ -65,54 +65,6 @@ NtUserBuildHimcList(
|
||||||
return 0;
|
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
|
DWORD
|
||||||
STDCALL
|
STDCALL
|
||||||
NtUserConvertMemHandle(
|
NtUserConvertMemHandle(
|
||||||
|
|
|
@ -823,21 +823,68 @@ CLEANUP:
|
||||||
HWND
|
HWND
|
||||||
STDCALL
|
STDCALL
|
||||||
NtUserCallHwndOpt(
|
NtUserCallHwndOpt(
|
||||||
HWND Param,
|
HWND hWnd,
|
||||||
DWORD Routine)
|
DWORD Routine)
|
||||||
{
|
{
|
||||||
switch (Routine)
|
switch (Routine)
|
||||||
{
|
{
|
||||||
case HWNDOPT_ROUTINE_SETPROGMANWINDOW:
|
case HWNDOPT_ROUTINE_SETPROGMANWINDOW:
|
||||||
GetW32ThreadInfo()->Desktop->hProgmanWindow = Param;
|
GetW32ThreadInfo()->Desktop->hProgmanWindow = hWnd;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case HWNDOPT_ROUTINE_SETTASKMANWINDOW:
|
case HWNDOPT_ROUTINE_SETTASKMANWINDOW:
|
||||||
GetW32ThreadInfo()->Desktop->hTaskManWindow = Param;
|
GetW32ThreadInfo()->Desktop->hTaskManWindow = hWnd;
|
||||||
break;
|
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 */
|
/* EOF */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue