mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 14:25:52 +00:00
- Improve user api hook definitions. Add prototype of RegisterUserApiHook for xp
- Add some helper macros svn path=/branches/GSoC_2011/ThemesSupport/; revision=51740
This commit is contained in:
parent
7aafb75d80
commit
9ae5e880c0
1 changed files with 53 additions and 44 deletions
|
@ -116,6 +116,54 @@ HWND WINAPI GetProgmanWindow(VOID);
|
||||||
// User api hook
|
// User api hook
|
||||||
//
|
//
|
||||||
|
|
||||||
|
typedef LRESULT(CALLBACK *WNDPROC_OWP)(HWND,UINT,WPARAM,LPARAM,ULONG_PTR,PDWORD);
|
||||||
|
|
||||||
|
typedef struct _UAHOWP
|
||||||
|
{
|
||||||
|
BYTE* MsgBitArray;
|
||||||
|
DWORD Size;
|
||||||
|
} UAHOWP, *PUAHOWP;
|
||||||
|
|
||||||
|
#define UAH_HOOK_MESSAGE(uahowp, msg) uahowp.MsgBitArray[msg/8] |= (1 << (msg % 8));
|
||||||
|
#define UAH_IS_MESSAGE_HOOKED(uahowp, msg) (uahowp.MsgBitArray[msg/8] & (1 << (msg % 8)))
|
||||||
|
#define UAHOWP_MAX_SIZE WM_USER/8
|
||||||
|
|
||||||
|
typedef struct tagUSERAPIHOOK
|
||||||
|
{
|
||||||
|
DWORD size;
|
||||||
|
WNDPROC DefWindowProcA;
|
||||||
|
WNDPROC DefWindowProcW;
|
||||||
|
UAHOWP DefWndProcArray;
|
||||||
|
FARPROC GetScrollInfo;
|
||||||
|
FARPROC SetScrollInfo;
|
||||||
|
FARPROC EnableScrollBar;
|
||||||
|
FARPROC AdjustWindowRectEx;
|
||||||
|
FARPROC SetWindowRgn;
|
||||||
|
WNDPROC_OWP PreWndProc;
|
||||||
|
WNDPROC_OWP PostWndProc;
|
||||||
|
UAHOWP WndProcArray;
|
||||||
|
WNDPROC_OWP PreDefDlgProc;
|
||||||
|
WNDPROC_OWP PostDefDlgProc;
|
||||||
|
UAHOWP DlgProcArray;
|
||||||
|
FARPROC GetSystemMetrics;
|
||||||
|
FARPROC SystemParametersInfoA;
|
||||||
|
FARPROC SystemParametersInfoW;
|
||||||
|
FARPROC ForceResetUserApiHook;
|
||||||
|
FARPROC DrawFrameControl;
|
||||||
|
FARPROC DrawCaption;
|
||||||
|
FARPROC MDIRedrawFrame;
|
||||||
|
FARPROC GetRealWindowOwner;
|
||||||
|
} USERAPIHOOK, *PUSERAPIHOOK;
|
||||||
|
|
||||||
|
typedef enum _UAPIHK
|
||||||
|
{
|
||||||
|
uahLoadInit,
|
||||||
|
uahStop,
|
||||||
|
uahShutdown
|
||||||
|
} UAPIHK, *PUAPIHK;
|
||||||
|
|
||||||
|
typedef BOOL(CALLBACK *USERAPIHOOKPROC)(UAPIHK State, PUSERAPIHOOK puah);
|
||||||
|
|
||||||
typedef struct _USERAPIHOOKINFO
|
typedef struct _USERAPIHOOKINFO
|
||||||
{
|
{
|
||||||
DWORD m_size;
|
DWORD m_size;
|
||||||
|
@ -125,51 +173,12 @@ typedef struct _USERAPIHOOKINFO
|
||||||
LPCWSTR m_funname2;
|
LPCWSTR m_funname2;
|
||||||
} USERAPIHOOKINFO,*PUSERAPIHOOKINFO;
|
} USERAPIHOOKINFO,*PUSERAPIHOOKINFO;
|
||||||
|
|
||||||
typedef enum _UAPIHK
|
#if (WINVER == _WIN32_WINNT_WINXP)
|
||||||
{
|
BOOL WINAPI RegisterUserApiHook(HINSTANCE hInstance, USERAPIHOOKPROC CallbackFunc);
|
||||||
uahLoadInit,
|
#elif (WINVER == _WIN32_WINNT_WS03)
|
||||||
uahStop,
|
|
||||||
uahShutdown
|
|
||||||
} UAPIHK, *PUAPIHK;
|
|
||||||
|
|
||||||
typedef DWORD (CALLBACK * USERAPIHOOKPROC)(UAPIHK State, ULONG_PTR Info);
|
|
||||||
|
|
||||||
typedef LRESULT(CALLBACK *WNDPROC_OWP)(HWND,UINT,WPARAM,LPARAM,ULONG_PTR,PDWORD);
|
|
||||||
|
|
||||||
typedef struct _UAHOWP
|
|
||||||
{
|
|
||||||
BYTE* MsgBitArray;
|
|
||||||
DWORD Size;
|
|
||||||
} UAHOWP, *PUAHOWP;
|
|
||||||
|
|
||||||
typedef struct tagUSERAPIHOOK
|
|
||||||
{
|
|
||||||
DWORD size;
|
|
||||||
WNDPROC DefWindowProcA;
|
|
||||||
WNDPROC DefWindowProcW;
|
|
||||||
UAHOWP DefWndProcArray;
|
|
||||||
FARPROC GetScrollInfo;
|
|
||||||
FARPROC SetScrollInfo;
|
|
||||||
FARPROC EnableScrollBar;
|
|
||||||
FARPROC AdjustWindowRectEx;
|
|
||||||
FARPROC SetWindowRgn;
|
|
||||||
WNDPROC_OWP PreWndProc;
|
|
||||||
WNDPROC_OWP PostWndProc;
|
|
||||||
UAHOWP WndProcArray;
|
|
||||||
WNDPROC_OWP PreDefDlgProc;
|
|
||||||
WNDPROC_OWP PostDefDlgProc;
|
|
||||||
UAHOWP DlgProcArray;
|
|
||||||
FARPROC GetSystemMetrics;
|
|
||||||
FARPROC SystemParametersInfoA;
|
|
||||||
FARPROC SystemParametersInfoW;
|
|
||||||
FARPROC ForceResetUserApiHook;
|
|
||||||
FARPROC DrawFrameControl;
|
|
||||||
FARPROC DrawCaption;
|
|
||||||
FARPROC MDIRedrawFrame;
|
|
||||||
FARPROC GetRealWindowOwner;
|
|
||||||
} USERAPIHOOK, *PUSERAPIHOOK;
|
|
||||||
|
|
||||||
BOOL WINAPI RegisterUserApiHook(PUSERAPIHOOKINFO puah);
|
BOOL WINAPI RegisterUserApiHook(PUSERAPIHOOKINFO puah);
|
||||||
|
#endif
|
||||||
|
|
||||||
BOOL WINAPI UnregisterUserApiHook(VOID);
|
BOOL WINAPI UnregisterUserApiHook(VOID);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue