The IOCTL_KEYBOARD_QUERY_TYPEMATIC request returns the typematic settings.
Kbdclass copies the current stack location, sets the MajorFunction member of the new stack location to IRP_MJ_INTERNAL_DEVICE_CONTROL, and sends this request down the device stack.
The Parameters.DeviceIoControl.InputBufferLength member is set to zero or a value greater than or equal to the size, in bytes, of a KEYBOARD_UNIT_ID_PARAMETER. A value of zero specifies a default unit ID of zero.
The AssociatedIrp.SystemBuffer member points to a client-allocated buffer that is used to input and output information. On input, AssociatedIrp.SystemBuffer points to a KEYBOARD_UNIT_ID_PARAMETER structure. The client sets the UnitId member of the input structure.
Input Buffer Length
The size of a KEYBOARD_UNIT_ID_PARAMETER structure.
AssociatedIrp.SystemBuffer points to the client-allocated buffer that the lower-level drivers use to output a KEYBOARD_TYPEMATIC_PARAMETERS structure.
Output Buffer Length
The size of a KEYBOARD_TYPEMATIC_PARAMETERS structure.
Input / Output Buffer
Input / Output Buffer Length
If the request is successful, the Information member is set to the number of bytes of a KEYBOARD_TYPEMATIC_PARAMETERS structure.
The Status member is set to one of the following values:
|Header||ntddkbd.h (include Ntddkbd.h)|