The IOCTL_INTERNAL_KEYBOARD_CONNECT request connects the Kbdclass service to the keyboard device. Kbdclass sends this request down the keyboard device stack before it opens the keyboard device.
After Kbfiltr received the keyboard connect request, Kbfiltr filters the connect request in the following way:
- Saves a copy of Kbdclass's CONNECT_DATA (Kbdclass) structure that is passed to the filter driver by Kbdclass
- Substitutes its own connect information for the class driver connect information
- Sends the IOCTL_INTERNAL_KEYBOARD_CONNECT request down the device stack
Kbfiltr provides a template for a filter service callback routine that can supplement the operation of KeyboardClassServiceCallback, the Kbdclass class service callback routine. The filter service callback can filter the input data that is transferred from the device input buffer to the class data queue.
For more information about the connection of the Kbdclass service, see the following topics:
The Parameters.DeviceIoControl.Type3InputBuffer member points to a CONNECT_DATA structure that is allocated and set by Kbdclass.
Input buffer length
The Parameters.DeviceIoControl.InputBufferLength member is set to a value greater than or equal to the size, in bytes, of a CONNECT_DATA structure.
The Parameters.DeviceIoControl.Type3InputBuffer member points to a CONNECT_DATA structure that is set by Kbfiltr.
Output buffer length
The size of a CONNECT_DATA structure.
The Information member is set to zero.
The Status member is set to one of the following values:
|Header||kbdmou.h (include Kbdmou.h)|