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


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

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

Требования

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