IOCTL_LAMP_GET_EMITTING_LIGHT IOCTL (lamp.h)

Код элемента управления IOCTL_LAMP_GET_EMITTING_LIGHT запрашивает, включена ли лампа.

#define IOCTL_LAMP_GET_EMITTING_LIGHT \
    CTL_CODE(IOCTL_LAMP_BASE, 0x0008, METHOD_BUFFERED, FILE_ANY_ACCESS)

Основной код

IRP_MJ_DEVICE_CONTROL

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

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

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

Длина ЛОГИЧЕСКОГО ЗНАЧЕНИЯ.

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

Irp->AssociatedIrp.SystemBuffer содержит состояние лампы; ЗНАЧЕНИЕ TRUE , если лампа включена и излучает свет; Значение FALSE в противном случае.

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

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