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

指向必须与 InitializationRoutineIsrRoutine 例程一起使用的上下文的指针(如果为非 NULL)。 否则, ContextNULL

InitializationRoutine

指向可选PI8042_KEYBOARD_INITIALIZATION_ROUTINE回调的指针(如果为非 NULL)。 I8042prt 使用此回调在重置设备后初始化设备。 否则, IntializatonRoutineNULL

IsrRoutine

指向自定义 I8042prt 键盘 ISR 操作的可选PI8042_KEYBOARD_ISR回调的指针(如果为非 NULL)。 否则, IsrRoutine NULL

IsrWritePort

指向系统提供的 PI8042_ISR_WRITE_PORT 回调的指针,该回调将数据写入键盘。

QueueKeyboardPacket

指向系统提供的 PI8042_QUEUE_PACKET 回调的指针,该回调将键盘输入数据包排队,以便由键盘的 ISR 延迟过程调用进行处理。

CallContext

指向必须与 IsrWritePortQueueKeyboardPacket 例程一起使用的上下文的指针。

注解

此结构仅用于 IOCTL_INTERNAL_I8042_HOOK_KEYBOARD 请求。

ContextInitializationRoutineIsrRoutine 可由供应商提供的上层筛选器驱动程序提供。

IsrWritePortQueueKeyboardPacketCallContext 由 I8042prt 提供。

要求

要求
Header ntdd8042.h (包括 Ntdd8042.h)

另请参阅

IOCTL_INTERNAL_I8042_HOOK_KEYBOARD

KbFilter_InitializationRoutine

KbFilter_IsrHook

PI8042_ISR_WRITE_PORT

PI8042_KEYBOARD_ISR

PI8042_QUEUE_PACKET