当灯配置为发出白光时,IOCTL_LAMP_GET_INTENSITY_WHITE 控制代码会查询光强度。
#define IOCTL_LAMP_GET_INTENSITY_WHITE \
    CTL_CODE(IOCTL_LAMP_BASE, 0x0004, METHOD_BUFFERED, FILE_ANY_ACCESS)
主要代码
输入缓冲区
              Irp->AssociatedIrp.SystemBuffer 指向 LAMP_INTENSITY_WHITE 结构。
输入缓冲区长度
LAMP_INTENSITY_WHITE 结构的长度。
输出缓冲区
              Irp->AssociatedIrp.SystemBuffer 填充光强度信息。
输出缓冲区长度
              IO_STACK_LOCATION.Parameters.DeviceIoControl.OutputBufferLength 是在 Irp->AssociatedIrp.SystemBuffer 字段中传递的缓冲区长度(以字节为单位)。
状态块
驱动程序将 Irp->IoStatus.Status 设置为 STATUS_SUCCESS 或相应的错误状态。
如果设备已被相机驱动程序获取,灯驱动程序应通过 Irp->IoStatus.Status返回 STATUS_RESOURCE_IN_USE 错误。
言论
此 IOCTL 的有效负载类型是一种 LAMP_INTENSITY_WHITE 结构。
值 字段是白色光强度百分比(0 - 100)。
要求
| 要求 | 价值 | 
|---|---|
| 标头 | lamp.h |