IOCTL_LAMP_GET_CAPABILITIES_COLOR IOCTL (lamp.h)

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

#define IOCTL_LAMP_GET_CAPABILITIES_COLOR \
    CTL_CODE(IOCTL_LAMP_BASE, 0x0001, METHOD_BUFFERED, FILE_ANY_ACCESS)

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

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

输入缓冲区长度

缓冲区的长度。

输出缓冲区

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

输出缓冲区长度

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

状态块

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

注解

此 IOCTL 的有效负载是一个 LAMP_CAPABILITIES_COLOR 结构。

IsSupported 字段指示灯是否可以发出彩光。 如果硬件不支持色光,驱动程序应将此字段设置为 FALSE

IsLightIntensityAdjustable 字段指示是否可以对亮度级别进行编程。 如果灯不支持彩色光 (IsSupported 的计算结果为 FALSE) ,则客户端应放弃 IsLightIntensityAdjustable 的值。

要求

要求
Header lamp.h