// lamp.h
// CTL_CODE(0x0022, 0x000, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_LAMP_GET_CAPABILITIES_WHITE 0x00220000
View the official Windows Driver Kit DDI referenceNo description available.
The IOCTL_LAMP_GET_CAPABILITIES_WHITE control code queries the capabilities of the lamp when the device is configured to emit white light.
#define IOCTL_LAMP_GET_CAPABILITIES_WHITE \
CTL_CODE(IOCTL_LAMP_BASE, 0x0000, METHOD_BUFFERED, FILE_ANY_ACCESS)
Irp->AssociatedIrp.SystemBuffer points to a buffer of type LAMP_CAPABILITIES_WHITE.
Length of the buffer.
Irp->AssociatedIrp.SystemBuffer is filled with all capabilities supported by the lamp hardware.
IO_STACK_LOCATION.Parameters.DeviceIoControl.OutputBufferLength is the length of the buffer (in bytes) passed in the Irp->AssociatedIrp.SystemBuffer field.
The driver sets Irp->IoStatus.Status to STATUS_SUCCESS or the appropriate error status. It will set Irp->IoStatus.Information to the number of bytes required to hold the buffer.
By requirement, a lamp whose driver supports the GUID_DEVINTERFACE_LAMP interface is required to support emitting white light.
The payload of this IOCTL is a LAMP_CAPABILITIES_WHITE structure.
The IsLightIntensityAdjustable field indicates whether the luminance level can be programmed. If this field evaluates to FALSE, it means that the underlying device only supports the on/off switch and the light intensity cannot be adjusted.