Compartilhar via


IOCTL_LAMP_GET_CAPABILITIES_COLOR IOCTL (lamp.h)

O código de controle IOCTL_LAMP_GET_CAPABILITIES_COLOR consulta os recursos da lâmpada quando o dispositivo está configurado para emitir luz colorida.

#define IOCTL_LAMP_GET_CAPABILITIES_COLOR \
    CTL_CODE(IOCTL_LAMP_BASE, 0x0001, METHOD_BUFFERED, FILE_ANY_ACCESS)

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

Irp->AssociatedIrp.SystemBuffer aponta para um buffer do tipo LAMP_CAPABILITIES_COLOR.

Comprimento do buffer de entrada

Comprimento do buffer.

Buffer de saída

Irp->AssociatedIrp.SystemBuffer é preenchido com todos os recursos compatíveis com o hardware da lâmpada.

Comprimento do buffer de saída

IO_STACK_LOCATION.Parameters.DeviceIoControl.OutputBufferLength é o comprimento do buffer (em bytes) passado no Irp->AssociatedIrp.SystemBuffer campo .

Bloco de status

O driver define Irp->IoStatus.Status como STATUS_SUCCESS ou o erro apropriado status. Ele será definido como Irp->IoStatus.Information o número de bytes necessários para manter o buffer.

Comentários

O conteúdo dessa IOCTL é uma estrutura LAMP_CAPABILITIES_COLOR .

O campo IsSupported indica se a lâmpada pode emitir luz colorida. Se o hardware não der suporte à luz de cor, o driver deverá definir esse campo como FALSE.

O campo IsLightIntensityAdjustable indica se o nível de luminância pode ser programado. Se a lâmpada não der suporte à luz de cor (IsSupported é avaliada como FALSE), um cliente deve descartar o valor de IsLightIntensityAdjustable.

Requisitos

Requisito Valor
Cabeçalho lamp.h