mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 16:36:33 +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
|
||||
//
|
||||
|
||||
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 struct _UAHOWP
|
||||
|
@ -142,6 +124,10 @@ typedef struct _UAHOWP
|
|||
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;
|
||||
|
@ -169,7 +155,30 @@ typedef struct tagUSERAPIHOOK
|
|||
FARPROC GetRealWindowOwner;
|
||||
} 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);
|
||||
#endif
|
||||
|
||||
BOOL WINAPI UnregisterUserApiHook(VOID);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue