ntdd8042.h header
This is the include file that defines all constants and types for hooking i8042 devices.
For more information, see:
ntdd8042.h contains the following programming interfaces:
IOCTLs
IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER The IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER request is not supported. |
IOCTL_INTERNAL_I8042_HOOK_KEYBOARD The IOCTL_INTERNAL_I8042_HOOK_KEYBOARD request does the following:Adds an initialization callback routine to the I8042prt keyboard initialization routineAdds an ISR callback routine to the I8042prt keyboard ISRThe initialization and ISR callbacks are optional and are provided by an upper-level filter driver for a PS/2-style keyboard device.After I8042prt receives an IOCTL_INTERNAL_KEYBOARD_CONNECT request, it sends a synchronous IOCTL_INTERNAL_I8042_HOOK_KEYBOARD request to the top of the keyboard device stack.After Kbfiltr receives the hook keyboard request, Kbfiltr filters the request in the following way:Saves the upper-level information passed to Kbfiltr, which includes the context of an upper-level device object, a pointer to an initialization callback, and a pointer to an ISR callbackReplaces the upper-level information with its ownSaves the context of I8042prt and pointers to callbacks that the Kbfiltr ISR callback can useFor more information about this request and the callbacks, see the following topics:I8042prt Callback RoutinesKbfiltr Callback Routines. |
IOCTL_INTERNAL_I8042_HOOK_MOUSE The IOCTL_INTERNAL_I8042_HOOK_MOUSE request adds an ISR callback routine to the I8042prt mouse ISR. |
IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION The IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION request passes a pointer to a keyboard interrupt object. |
IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER The IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER request writes data to the i8042 port controller to control operation of a keyboard device. |
IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION The IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION request passes a pointer to a mouse interrupt object. |
IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER The IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER request writes data to the i8042 port controller to control operation of a mouse device. |
Callback functions
PI8042_ISR_WRITE_PORT The PI8042_ISR_WRITE_PORT-typed callback routine writes data to an i8042 port. I8042prt provides this callback. |
PI8042_KEYBOARD_INITIALIZATION_ROUTINE A PI8042_KEYBOARD_INITIALIZATION_ROUTINE-typed callback routine supplements the default initialization of a keyboard device by I8042prt. |
PI8042_KEYBOARD_ISR A PI8042_KEYBOARD_ISR-typed callback routine customizes the operation of the I8042prt keyboard ISR. |
PI8042_MOUSE_ISR A PI8042_MOUSE_ISR-typed callback routine customizes the operation of the I8042prt mouse ISR. |
PI8042_QUEUE_PACKET The PI8042_QUEUE_PACKET-typed callback routine queues an input data packet for processing by the ISR DPC of a keyboard or mouse device. I8042prt provides this callback. |
PI8042_SYNCH_READ_PORT The PI8042_SYNCH_READ_PORT-typed callback routine does a synchronized read from an i8042 port. I8042prt supplies this callback. |
PI8042_SYNCH_WRITE_PORT The PI8042_SYNCH_READ_PORT-typed callback routine does a synchronized write to an i8042 port. I8042prt supplies this routine. |
Structures
INTERNAL_I8042_HOOK_KEYBOARD 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. |
INTERNAL_I8042_HOOK_MOUSE INTERNAL_I8042_HOOK_MOUSE is used by I8042prt to connect an optional callback routine that supplements the operation of the mouse ISR. The callback can be supplied by an optional, vendor-supplied, upper-level filter driver. |
INTERNAL_I8042_START_INFORMATION INTERNAL_I8042_START_INFORMATION specifies the interrupt object that an optional, vendor-supplied, upper-level filter device driver can use to synchronize its operation with an I8042prt ISR. |
OUTPUT_PACKET OUTPUT_PACKET contains information about the data that is being written to a keyboard or mouse device by I8042prt. |
Enumerations
KEYBOARD_SCAN_STATE The KEYBOARD_SCAN_STATE enumeration type indicates the scan state of an input byte from a keyboard. |
MOUSE_STATE The MOUSE_STATE enumeration type identifies the current state of input from a mouse. |