INTERNAL_I8042_HOOK_KEYBOARD structure (ntdd8042.h)

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.

Syntax

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;

Members

Context

Pointer, if non-NULL, to the context that must be used with the InitializationRoutine and IsrRoutine routines. Otherwise, Context is NULL.

InitializationRoutine

Pointer, 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.

IsrRoutine

Pointer, if non-NULL, to an optional PI8042_KEYBOARD_ISR callback that customizes the operation of the I8042prt keyboard ISR. Otherwise, IsrRoutine is NULL.

IsrWritePort

Pointer to the system-supplied PI8042_ISR_WRITE_PORT callback, which writes data to a keyboard.

QueueKeyboardPacket

Pointer 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.

CallContext

Pointer to the context that must be used with the IsrWritePort and QueueKeyboardPacket routines.

Remarks

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.

Requirements

Requirement Value
Header ntdd8042.h (include Ntdd8042.h)

See also

IOCTL_INTERNAL_I8042_HOOK_KEYBOARD

KbFilter_InitializationRoutine

KbFilter_IsrHook

PI8042_ISR_WRITE_PORT

PI8042_KEYBOARD_ISR

PI8042_QUEUE_PACKET