IOCTL_KEYBOARD_SET_INDICATORS control code

The IOCTL_KEYBOARD_SET_INDICATORS request sets 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 driver stack.

If there is a grandmaster device, Kbdclass normally sets the keyboard indicators of all the subordinate class devices to a global setting. This operation is controlled by the registry entry value SendOutputToAllPorts under the key HKLM\Services\CurrentControlSet\Kbdclass\Parameters. If SendOutputToAllPorts is nonzero, Kdbclass sets all subordinate class devices to a gobal setting. Otherwise, Kbdclass sets only the device whose unit ID is zero.

Input Parameters

The Parameters.DeviceIoControl.InputBufferLength member specifies the size, in bytes, of a KEYBOARD_INDICATOR_PARAMETERS structure.

The AssociatedIrp.SystemBuffer member points to a client-allocated KEYBOARD_INDICATOR_PARAMETERS structure. The client sets the UnitId and LedFlags members.

Output Parameters

None.

I/O Status Block

The Information member is set to zero.

The Status member is set to one of the following values:

STATUS_SUCCESS

The request completed successfully.

STATUS_BUFFER_TOO_SMALL

The value of Parameters.DeviceIoControl.InputBufferLength is less than the size, in bytes, of a KEYBOARD_INDICATOR_PARAMETERS structure.

STATUS_INVALID_PARAMETER

The UnitId value is invalid.

STATUS_IO_TIMEOUT

The requested operation timed out on the device.

Requirements

Header

Ntddkbd.h (include Ntddkbd.h)

See also

IOCTL_KEYBOARD_QUERY_ATTRIBUTES
IOCTL_KEYBOARD_QUERY_INDICATORS
IOCTL_KEYBOARD_QUERY_INDICATOR_TRANSLATION
IOCTL_KEYBOARD_QUERY_TYPEMATIC
IOCTL_KEYBOARD_SET_TYPEMATIC
KEYBOARD_INDICATOR_PARAMETERS

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft