IOCTL_LAMP_GET_CAPABILITIES_WHITE IOCTL (lamp.h)

当设备配置为发出白光时, IOCTL_LAMP_GET_CAPABILITIES_WHITE 控制代码查询灯的功能。

#define IOCTL_LAMP_GET_CAPABILITIES_WHITE \
    CTL_CODE(IOCTL_LAMP_BASE, 0x0000, METHOD_BUFFERED, FILE_ANY_ACCESS)

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

Irp->AssociatedIrp.SystemBuffer 指向 LAMP_CAPABILITIES_WHITE 类型的缓冲区。

输入缓冲区长度

缓冲区的长度。

输出缓冲区

Irp->AssociatedIrp.SystemBuffer 充满了灯硬件支持的所有功能。

输出缓冲区长度

IO_STACK_LOCATION.Parameters.DeviceIoControl.OutputBufferLength 是在 字段中传递) 缓冲区 (的长度( Irp->AssociatedIrp.SystemBuffer 以字节为单位)。

状态块

驱动程序将 设置为 Irp->IoStatus.StatusSTATUS_SUCCESS 或相应的错误状态。 它将设置为 Irp->IoStatus.Information 保存缓冲区所需的字节数。

注解

根据要求,驱动程序支持 GUID_DEVINTERFACE_LAMP 接口的灯需要支持发出白光。

此 IOCTL 的有效负载是 LAMP_CAPABILITIES_WHITE 结构。

IsLightIntensityAdjustable 字段指示是否可以对亮度级别进行编程。 如果此字段的计算结果为 FALSE,则表示基础设备仅支持开/关开关,并且无法调整光强度。

要求

要求
Header lamp.h