IOCTL_KEYBOARD_QUERY_INDICATORS control code

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.

Input Parameters

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.

Output Parameters

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

I/O 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:

STATUS_SUCCESS

The request completed successfully.

STATUS_INVALID_PARAMETER

The UnitId value is not valid.

STATUS_BUFFER_TOO_SMALL

The output buffer cannot hold the KEYBOARD_INDICATOR_PARAMETERS structure.

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

 

 

Send comments about this topic to Microsoft

Show:
© 2015 Microsoft