3 #define HOOK_THREAD_REFERENCED (0x1)
4 #define HOOKID_TO_INDEX(HookId) (HookId - WH_MINHOOK)
5 #define HOOKID_TO_FLAG(HookId) (1 << ((HookId) + 1))
6 #define ISITHOOKED(HookId) (((PTHREADINFO)PsGetCurrentThreadWin32Thread())->fsHooks & HOOKID_TO_FLAG(HookId))
8 /* NOTE: The following definition is not a real hook but
9 a pseudo-id that will be used only for
10 injecting user api hook module to all processes.
11 It is used internally in win32k */
12 #define WH_APIHOOK WH_MAX + 1
15 typedef struct tagEVENTHOOK
18 LIST_ENTRY Chain
; /* Event chain entry */
23 WINEVENTPROC Proc
; /* Event function */
24 ULONG Flags
; /* Some internal flags */
27 } EVENTHOOK
, *PEVENTHOOK
;
29 typedef struct tagEVENTTABLE
33 } EVENTTABLE
, *PEVENTTABLE
;
35 typedef struct _NOTIFYEVENT
41 } NOTIFYEVENT
, *PNOTIFYEVENT
;
43 LRESULT FASTCALL
co_CallHook(INT HookId
, INT Code
, WPARAM wParam
, LPARAM lParam
);
44 LRESULT FASTCALL
co_HOOK_CallHooks(INT HookId
, INT Code
, WPARAM wParam
, LPARAM lParam
);
45 LRESULT FASTCALL
co_EVENT_CallEvents(DWORD
, HWND
, UINT_PTR
, LONG_PTR
);
46 VOID FASTCALL
HOOK_DestroyThreadHooks(PETHREAD Thread
);
47 VOID FASTCALL
EVENT_DestroyThreadEvents(PETHREAD Thread
);
48 PHOOK FASTCALL
IntGetHookObject(HHOOK
);
49 PHOOK FASTCALL
IntGetNextHook(PHOOK Hook
);
50 LRESULT FASTCALL
UserCallNextHookEx( PHOOK pHook
, int Code
, WPARAM wParam
, LPARAM lParam
, BOOL Ansi
);
51 BOOL FASTCALL
IntUnhookWindowsHook(int,HOOKPROC
);
53 BOOL FASTCALL
UserLoadApiHook();
54 BOOL
IntLoadHookModule(int iHookID
, HHOOK hHook
, BOOL Unload
);
55 BOOL FASTCALL
UserUnregisterUserApiHook();
57 extern PPROCESSINFO ppiUahServer
;