// ntdd8042.h
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;
View the official Windows Driver Kit DDI referenceNo description available.
INTERNAL_I8042_HOOK_KEYBOARD is used by I8042prt to connect optional callback routines that supplement keyboard initialization and the keyboard ISR. The callbacks can be supplied by an optional, vendor-supplied, upper-level filter driver.
ContextPointer, if non-NULL, to the context that must be used with the InitializationRoutine and IsrRoutine routines. Otherwise, Context is NULL.
InitializationRoutinePointer, if non-NULL, to an optional PI8042_KEYBOARD_INITIALIZATION_ROUTINEcallback. I8042prt uses this callback to initialize a device after the device is reset. Otherwise, IntializatonRoutine is NULL.
IsrRoutinePointer, if non-NULL, to an optional PI8042_KEYBOARD_ISR callback that customizes the operation of the I8042prt keyboard ISR. Otherwise, IsrRoutine is NULL.
IsrWritePortPointer to the system-supplied PI8042_ISR_WRITE_PORT callback, which writes data to a keyboard.
QueueKeyboardPacketPointer to the system-supplied PI8042_QUEUE_PACKET callback, which queues a keyboard input data packet for processing by the keyboard's ISR deferred procedure call.
CallContextPointer to the context that must be used with the IsrWritePort and QueueKeyboardPacket routines.
This structure is only used with an IOCTL_INTERNAL_I8042_HOOK_KEYBOARD request.
Context, InitializationRoutine, and IsrRoutine can be supplied by an optional, vendor-supplied, upper-level filter driver.
IsrWritePort, QueueKeyboardPacket, and CallContext are supplied by I8042prt.
IOCTL_INTERNAL_I8042_HOOK_KEYBOARD
KbFilter_InitializationRoutine