IOCTL_LAMP_GET_CAPABILITIES_COLOR IOCTL (lamp.h)

Код элемента управления IOCTL_LAMP_GET_CAPABILITIES_COLOR запрашивает возможности лампы, когда устройство настроено для испускания цветового света.

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

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Irp->AssociatedIrp.SystemBuffer указывает на буфер типа LAMP_CAPABILITIES_COLOR.

Длина входного буфера

Длина буфера.

Выходной буфер

Irp->AssociatedIrp.SystemBuffer заполнен всеми возможностями, поддерживаемыми оборудованием лампы.

Длина выходного буфера

IO_STACK_LOCATION.Parameters.DeviceIoControl.OutputBufferLength — это длина буфера (в байтах), переданного Irp->AssociatedIrp.SystemBuffer в поле .

Блок состояния

Драйвер задает Irp->IoStatus.Statusзначение STATUS_SUCCESS или соответствующее состояние ошибки. Для него будет задано Irp->IoStatus.Information количество байтов, необходимых для хранения буфера.

Комментарии

Полезные данные этого IOCTL являются LAMP_CAPABILITIES_COLOR структурой.

Поле IsSupported указывает, может ли лампа излучить цветной свет. Если оборудование не поддерживает цвет света, драйвер должен задать для этого поля значение FALSE.

Поле IsLightIntensityAdjustable указывает, можно ли запрограммировать уровень яркости. Если лампа не поддерживает цвет света (IsSupported принимает значение FALSE), клиент должен отменить значение IsLightIntensityAdjustable.

Требования

Требование Значение
Заголовок lamp.h