WH_DEBUG为调试钩子,用来给钩子函数除错。在系统调用系统中与其他Hook关联的Hook钩子例程之前,系统会调用WH_DEBUG Hook钩子例程。你可以使用这个Hook来决定是否允许系统调用与其他Hook关联的Hook钩子例程。WH_DEBUG调用DebugProc钩子例程。
DebugProc语法:
nCode消息处理标识。如果nCode<0,钩子函数不能处理这个消息,需要使用CallNextHookEx函数继续传递消息,并且返回CallNextHookEx的返回值。
wParam指示当前即将被调用的钩子的类型,如WH_MOUSE,WH_KEYBOARD 参数,可支持除了低级鼠标低级键盘钩子的所有钩子。
lParam 指向DEBUGHOOKINFO 结构。
DebugProc语法:
LRESULT CALLBACK DebugProc(
int nCode,
WPARAM wParam,
LPARAM lParam
)
nCode消息处理标识。如果nCode<0,钩子函数不能处理这个消息,需要使用CallNextHookEx函数继续传递消息,并且返回CallNextHookEx的返回值。
wParam指示当前即将被调用的钩子的类型,如WH_MOUSE,WH_KEYBOARD 参数,可支持除了低级鼠标低级键盘钩子的所有钩子。
lParam 指向DEBUGHOOKINFO 结构。
typedef struct
{
DWORD idThread;
DWORD idThreadInstaller;
LPARAM lParam;
WPARAM wParam;
int code;
} DEBUGHOOKINFO, *PDEBUGHOOKINFO;