IOCTL_LAMP_GET_CAPABILITIES_WHITE IOCTL (lamp.h)

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

#define IOCTL_LAMP_GET_CAPABILITIES_WHITE \
    CTL_CODE(IOCTL_LAMP_BASE, 0x0000, METHOD_BUFFERED, FILE_ANY_ACCESS)

Основной код

IRP_MJ_DEVICE_CONTROL

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

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

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

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

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

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

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

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

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

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

Комментарии

По требованию, для поддержки испускания белого света требуется лампа, драйвер которой поддерживает интерфейс GUID_DEVINTERFACE_LAMP .

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

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

Требования

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