Поделиться через


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.StatusSTATUS_SUCCESS или соответствующее состояние ошибки. Он задает Irp->IoStatus.Information количество байтов, необходимых для хранения буфера.

Замечания

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

Полезные данные этого IOCTL — это LAMP_CAPABILITIES_WHITE структура.

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

Требования

Требование Ценность
заголовка lamp.h