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))
12#define WH_APIHOOK WH_MAX + 1
static VOID NTAPI Unload(PDRIVER_OBJECT DriverObject)
LRESULT APIENTRY co_EVENT_CallEvents(DWORD, HWND, UINT_PTR, LONG_PTR)
struct tagEVENTTABLE EVENTTABLE
LRESULT APIENTRY UserCallNextHookEx(PHOOK pHook, int Code, WPARAM wParam, LPARAM lParam, BOOL Ansi)
LRESULT APIENTRY co_CallHook(INT HookId, INT Code, WPARAM wParam, LPARAM lParam)
BOOL FASTCALL UserUnregisterUserApiHook(VOID)
BOOLEAN IntRemoveEvent(PVOID Object)
PHOOK FASTCALL IntGetNextHook(PHOOK Hook)
struct _NOTIFYEVENT NOTIFYEVENT
LRESULT APIENTRY co_HOOK_CallHooks(INT HookId, INT Code, WPARAM wParam, LPARAM lParam)
struct tagEVENTTABLE * PEVENTTABLE
BOOL FASTCALL UserLoadApiHook(VOID)
struct tagEVENTHOOK * PEVENTHOOK
PHOOK FASTCALL IntGetHookObject(HHOOK)
PPROCESSINFO ppiUahServer
struct _NOTIFYEVENT * PNOTIFYEVENT
BOOL FASTCALL IntUnhookWindowsHook(int, HOOKPROC)
BOOLEAN IntRemoveHook(PVOID Object)
BOOL IntLoadHookModule(int iHookID, HHOOK hHook, BOOL Unload)
struct tagEVENTHOOK EVENTHOOK
unsigned __int3264 UINT_PTR
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_In_ UCHAR _In_ UCHAR _In_ ULONG Code
VOID(CALLBACK * WINEVENTPROC)(HWINEVENTHOOK, DWORD, HWND, LONG, LONG, DWORD, DWORD)
LRESULT(CALLBACK * HOOKPROC)(int, WPARAM, LPARAM)