mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 20:35:43 +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,24 +116,6 @@ HWND WINAPI GetProgmanWindow(VOID);
|
||||||
// User api hook
|
// User api hook
|
||||||
//
|
//
|
||||||
|
|
||||||
typedef struct _USERAPIHOOKINFO
|
|
||||||
{
|
|
||||||
DWORD m_size;
|
|
||||||
LPCWSTR m_dllname1;
|
|
||||||
LPCWSTR m_funname1;
|
|
||||||
LPCWSTR m_dllname2;
|
|
||||||
LPCWSTR m_funname2;
|
|
||||||
} USERAPIHOOKINFO,*PUSERAPIHOOKINFO;
|
|
||||||
|
|
||||||
typedef enum _UAPIHK
|
|
||||||
{
|
|
||||||
uahLoadInit,
|
|
||||||
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 LRESULT(CALLBACK *WNDPROC_OWP)(HWND,UINT,WPARAM,LPARAM,ULONG_PTR,PDWORD);
|
||||||
|
|
||||||
typedef struct _UAHOWP
|
typedef struct _UAHOWP
|
||||||
|
@ -142,6 +124,10 @@ typedef struct _UAHOWP
|
||||||
DWORD Size;
|
DWORD Size;
|
||||||
} UAHOWP, *PUAHOWP;
|
} 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
|
typedef struct tagUSERAPIHOOK
|
||||||
{
|
{
|
||||||
DWORD size;
|
DWORD size;
|
||||||
|
@ -169,7 +155,30 @@ typedef struct tagUSERAPIHOOK
|
||||||
FARPROC GetRealWindowOwner;
|
FARPROC GetRealWindowOwner;
|
||||||
} USERAPIHOOK, *PUSERAPIHOOK;
|
} USERAPIHOOK, *PUSERAPIHOOK;
|
||||||
|
|
||||||
|
typedef enum _UAPIHK
|
||||||
|
{
|
||||||
|
uahLoadInit,
|
||||||
|
uahStop,
|
||||||
|
uahShutdown
|
||||||
|
} UAPIHK, *PUAPIHK;
|
||||||
|
|
||||||
|
typedef BOOL(CALLBACK *USERAPIHOOKPROC)(UAPIHK State, PUSERAPIHOOK puah);
|
||||||
|
|
||||||
|
typedef struct _USERAPIHOOKINFO
|
||||||
|
{
|
||||||
|
DWORD m_size;
|
||||||
|
LPCWSTR m_dllname1;
|
||||||
|
LPCWSTR m_funname1;
|
||||||
|
LPCWSTR m_dllname2;
|
||||||
|
LPCWSTR m_funname2;
|
||||||
|
} USERAPIHOOKINFO,*PUSERAPIHOOKINFO;
|
||||||
|
|
||||||
|
#if (WINVER == _WIN32_WINNT_WINXP)
|
||||||
|
BOOL WINAPI RegisterUserApiHook(HINSTANCE hInstance, USERAPIHOOKPROC CallbackFunc);
|
||||||
|
#elif (WINVER == _WIN32_WINNT_WS03)
|
||||||
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