IOCTL_LAMP_GET_EMITTING_LIGHT IOCTL (lamp.h)

El código de control IOCTL_LAMP_GET_EMITTING_LIGHT consulta si la lámpara está activada.

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

Código principal

IRP_MJ_DEVICE_CONTROL

Búfer de entrada

Irp->AssociatedIrp.SystemBuffer apunta a un búfer de tipo BOOLEAN.

Longitud del búfer de entrada

Longitud de un valor BOOLEAN.

Búfer de salida

Irp->AssociatedIrp.SystemBuffer contiene el estado de la lámpara; TRUE si la lámpara está encendida y emitiendo luz; FALSE en caso contrario.

Longitud del búfer de salida

IO_STACK_LOCATION.Parameters.DeviceIoControl.OutputBufferLength es la longitud del búfer en bytes pasados en el Irp->AssociatedIrp.SystemBuffer campo .

Bloque de estado

El controlador establece Irp->IoStatus.Statusen STATUS_SUCCESS o el estado de error adecuado. Se establecerá Irp->IoStatus.Information en el número de bytes necesarios para contener un valor DWORD .

Si un controlador de cámara ha adquirido el dispositivo, el controlador de la lámpara debe devolver un error de STATUS_RESOURCE_IN_USE a través de Irp->IoStatus.Status.

Requisitos

Requisito Valor
Header lamp.h