IOCTL_LAMP_GET_CAPABILITIES_COLOR IOCTL (lamp.h)

El IOCTL_LAMP_GET_CAPABILITIES_COLOR código de control consulta las funciones de la lámpara cuando el dispositivo está configurado para emitir luz de color.

#define IOCTL_LAMP_GET_CAPABILITIES_COLOR \
    CTL_CODE(IOCTL_LAMP_BASE, 0x0001, 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 LAMP_CAPABILITIES_COLOR.

Longitud del búfer de entrada

Longitud del búfer.

Búfer de salida

Irp->AssociatedIrp.SystemBuffer se rellena con todas las funcionalidades admitidas por el hardware de la lámpara.

Longitud del búfer de salida

IO_STACK_LOCATION.Parameters.DeviceIoControl.OutputBufferLength es la longitud del búfer (en bytes) pasado 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 el búfer.

Comentarios

La carga de este IOCTL es una estructura LAMP_CAPABILITIES_COLOR .

El campo IsSupported indica si la lámpara puede emitir luz de color. Si el hardware no admite luz de color, el controlador debe establecer este campo en FALSE.

El campo IsLightIntensityAdjustable indica si se puede programar el nivel de luminancia. Si la lámpara no admite luz de color (IsSupported se evalúa como FALSE), un cliente debe descartar el valor de IsLightIntensityAdjustable.

Requisitos

Requisito Valor
Header lamp.h