IOCTL_LAMP_GET_INTENSITY_WHITE IOCTL (lamp.h)

当灯配置为发出白光时,IOCTL_LAMP_GET_INTENSITY_WHITE 控制代码会查询光强度。

#define IOCTL_LAMP_GET_INTENSITY_WHITE \
    CTL_CODE(IOCTL_LAMP_BASE, 0x0004, METHOD_BUFFERED, FILE_ANY_ACCESS)

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

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