IOCTL_LAMP_GET_MODE IOCTL (lamp.h)

IOCTL_LAMP_GET_MODE控制代码查询当前用于配置灯的模式。

#define IOCTL_LAMP_GET_MODE \
    CTL_CODE(IOCTL_LAMP_BASE, 0x0002, METHOD_BUFFERED, FILE_ANY_ACCESS)

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

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

输入缓冲区长度

LAMP_MODE的长度。

输出缓冲区

Irp->AssociatedIrp.SystemBufferLAMP_MODE 值填充。

输出缓冲区长度

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

状态块

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

如果相机驱动程序已获取设备,则灯驱动程序应通过 Irp->IoStatus.Status返回STATUS_RESOURCE_IN_USE错误。

要求

要求
Header lamp.h