IOCTL_INTERNAL_I8042_HOOK_MOUSE IOCTL (ntdd8042.h)
IOCTL_INTERNAL_I8042_HOOK_MOUSE请求将 ISR 回调例程添加到 I8042prt 鼠标 ISR。 ISR 回调是可选的,由高级鼠标筛选器驱动程序提供。
I8042prt 在收到 IOCTL_INTERNAL_MOUSE_CONNECT 请求后发送此请求。 I8042prt 将同步IOCTL_INTERNAL_I8042_HOOK_MOUSE请求发送到鼠标设备堆栈的顶部。
Moufiltr 收到挂钩鼠标请求后,按以下方式筛选请求:
- 保存传递给 Moufiltr 的上层信息,其中包括高级设备对象的上下文和指向 ISR 回调的指针
- 将上层信息替换为自己的信息
- 保存 I8042prt 的上下文和指向 Moufiltr ISR 回调可以使用的回调的指针
主要代码
IRP_MJ_INTERNAL_DEVICE_CONTROL
输入缓冲区
Parameters.DeviceIoControl.InputBufferLength 成员设置为大于或等于INTERNAL_I8042_HOOK_MOUSE结构的大小(以字节为单位)的值。
Parameters.DeviceIoControl.Type3InputBuffer 指向最初由 I8042prt 分配和设置的INTERNAL_I8042_HOOK_MOUSE结构。
输入缓冲区长度
Parameters.DeviceIoControl.Type3InputBuffer 指向最初由 I8042prt 分配和设置的INTERNAL_I8042_HOOK_MOUSE结构。
输出缓冲区
无
输出缓冲区长度
无
状态块
Status 成员设置为以下值之一:
STATUS_INVALID_PARAMETER
Parameters.DeviceIoControl.InputBufferLength 小于INTERNAL_I8042_HOOK_MOUSE结构的大小(以字节为单位)。
STATUS_SUCCESS
请求已成功完成。
要求
要求 | 值 |
---|---|
Header | ntdd8042.h (包括 Ntdd8042.h) |