INTERNAL_I8042_HOOK_KEYBOARD 结构 (ntdd8042.h)
I8042prt 使用INTERNAL_I8042_HOOK_KEYBOARD来连接可选回调例程,这些例程补充键盘初始化和键盘 ISR。 回调可由供应商提供的上层筛选器驱动程序提供。
语法
typedef struct _INTERNAL_I8042_HOOK_KEYBOARD {
OUT PVOID Context;
OUT PI8042_KEYBOARD_INITIALIZATION_ROUTINE InitializationRoutine;
OUT PI8042_KEYBOARD_ISR IsrRoutine;
IN PI8042_ISR_WRITE_PORT IsrWritePort;
IN PI8042_QUEUE_PACKET QueueKeyboardPacket;
IN PVOID CallContext;
} INTERNAL_I8042_HOOK_KEYBOARD, *PINTERNAL_I8042_HOOK_KEYBOARD;
成员
Context
指向必须与 InitializationRoutine 和 IsrRoutine 例程一起使用的上下文的指针(如果为非 NULL)。 否则, Context 为 NULL。
InitializationRoutine
指向可选PI8042_KEYBOARD_INITIALIZATION_ROUTINE回调的指针(如果为非 NULL)。 I8042prt 使用此回调在重置设备后初始化设备。 否则, IntializatonRoutine 为 NULL。
IsrRoutine
指向自定义 I8042prt 键盘 ISR 操作的可选PI8042_KEYBOARD_ISR回调的指针(如果为非 NULL)。 否则, IsrRoutine 为 NULL。
IsrWritePort
指向系统提供的 PI8042_ISR_WRITE_PORT 回调的指针,该回调将数据写入键盘。
QueueKeyboardPacket
指向系统提供的 PI8042_QUEUE_PACKET 回调的指针,该回调将键盘输入数据包排队,以便由键盘的 ISR 延迟过程调用进行处理。
CallContext
指向必须与 IsrWritePort 和 QueueKeyboardPacket 例程一起使用的上下文的指针。
注解
此结构仅用于 IOCTL_INTERNAL_I8042_HOOK_KEYBOARD 请求。
Context、 InitializationRoutine 和 IsrRoutine 可由供应商提供的上层筛选器驱动程序提供。
IsrWritePort、 QueueKeyboardPacket 和 CallContext 由 I8042prt 提供。
要求
要求 | 值 |
---|---|
Header | ntdd8042.h (包括 Ntdd8042.h) |
另请参阅
IOCTL_INTERNAL_I8042_HOOK_KEYBOARD