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


IOCTL_LAMP_GET_MODE IOCTL (lamp.h)

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

#define IOCTL_LAMP_GET_MODE \
    CTL_CODE(IOCTL_LAMP_BASE, 0x0002, METHOD_BUFFERED, FILE_ANY_ACCESS)

Основной код

IRP_MJ_DEVICE_CONTROL

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

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

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

Длина LAMP_MODE.

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

Irp->AssociatedIrp.SystemBuffer заполняется значением LAMP_MODE .

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

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

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

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

Если устройство было приобретено драйвером камеры, драйвер лампы должен вернуть ошибку STATUS_RESOURCE_IN_USE через Irp->IoStatus.Status.

Требования

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