IOCTL_KEYBOARD_QUERY_INDICATORS IOCTL

The IOCTL_KEYBOARD_QUERY_INDICATORS request returns information about the keyboard indicators.

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.

Major Code

IRP_MJ_DEVICE_CONTROL

Input Buffer

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.

The Parameters.DeviceIoControl.OutputBufferLength member specifies the size, in bytes, of the output buffer, which must be greater than or equal to the size, in bytes, of a KEYBOARD_INDICATOR_PARAMETERS structure.

Input Buffer Length

The size of a KEYBOARD_UNIT_ID_PARAMETER structure.

Output Buffer

AssociatedIrp.SystemBuffer points to a client-allocated buffer that the lower-level drivers use to output a KEYBOARD_INDICATOR_PARAMETERS structure.

Output Buffer Length

The size of a KEYBOARD_INDICATOR_PARAMETERS structure.

Input / Output Buffer

Input / Output Buffer Length

Status Block

If the request is successful, the Information member is set to the size, in bytes, of a KEYBOARD_INDICATOR_PARAMETERS structure.

The Status member is set to one the following values:

Requirements

   
Header ntddkbd.h (include Ntddkbd.h)

See Also

IOCTL_KEYBOARD_QUERY_ATTRIBUTES

IOCTL_KEYBOARD_QUERY_INDICATOR_TRANSLATION

IOCTL_KEYBOARD_QUERY_TYPEMATIC

IOCTL_KEYBOARD_SET_INDICATORS

IOCTL_KEYBOARD_SET_TYPEMATIC

KEYBOARD_INDICATOR_PARAMETERS

KEYBOARD_UNIT_ID_PARAMETER