IOCTL_LAMP_GET_EMITTING_LIGHT IOCTL (lamp.h)

IOCTL_LAMP_GET_EMITTING_LIGHT控制代码查询灯是否已打开。

#define IOCTL_LAMP_GET_EMITTING_LIGHT \
    CTL_CODE(IOCTL_LAMP_BASE, 0x0008, METHOD_BUFFERED, FILE_ANY_ACCESS)

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

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

输入缓冲区长度

BOOLEAN 的长度。

输出缓冲区

Irp->AssociatedIrp.SystemBuffer 包含灯状态;如果灯已打开并发光,则为 TRUE ;否则为 FALSE

输出缓冲区长度

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