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


IOCTL_CHANGER_GET_ELEMENT_STATUS IOCTL (ntddchgr.h)

Возвращает состояние всех элементов или состояние указанного числа элементов определенного типа.

Описание возможных типов элементов см. в разделе CHANGER_ELEMENT.

Основной код

IRP_MJ_DEVICE_CONTROL

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

Буфер в Irp-AssociatedIrp.SystemBuffer> содержит CHANGER_READ_ELEMENT_STATUS данные, указывающие тип элемента и количество элементов, для которых возвращается состояние.

Если вызывающий объект задает элементу VolumeTagInfo CHANGER_READ_ELEMENT_STATUS значение TRUE, возвращаемое состояние элемента будет содержать сведения о теге тома.

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

Parameters.DeviceIoControl.InputBufferLength в расположении стека ввода-вывода указывает размер буфера параметров для входных данных в байтах, который должен иметь >значение = sizeof(CHANGER_READ_ELEMENT_STATUS).

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

Драйвер мини-класса средства изменения возвращает данные о состоянии элемента средства изменения в буфере по адресу Irp-AssociatedIrp.SystemBuffer>. Некоторые элементы типа ChangerDrive возвращают данные о продукте. Если устройство предоставляет сведения о продукте, драйвер мини-класса сообщит данные о состоянии элемента в структуре типа CHANGER_ELEMENT_STATUS_EX. Драйвер мини-класса задает ELEMENT_STATUS_PRODUCT_DATA в элементе Flags структуры, чтобы указать, что он содержит сведения о продукте. Для элементов всех типов, кроме ChangerDrive, драйвер сообщает данные о состоянии элемента в структуре типа CHANGER_ELEMENT_STATUS.

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

Parameters.DeviceIoControl.OutputBufferLength указывает размер буфера параметров для вывода в байтах. Для элементов типа ChangerDrive это значение должно иметь >значение = NumberOfElements * sizeof(CHANGER_ELEMENT_STATUS_EX). Для элементов всех остальных типов это значение должно быть >= NumberOfElements * sizeof(CHANGER_ELEMENT_STATUS).

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

В поле Сведения задается количество возвращаемых байтов. Для поля Состояние задано значение STATUS_SUCCESS или, возможно, STATUS_BUFFER_TOO_SMALL, STATUS_INFO_LENGTH_MISMATCH, STATUS_INSUFFICIENT_RESOURCES, STATUS_INVALID_ELEMENT_ADDRESS или STATUS_INVALID_PARAMETER.

Требования

Требование Значение
Заголовок ntddchgr.h (включая Ntddchgr.h)

См. также раздел

CHANGER_ELEMENT

CHANGER_ELEMENT_STATUS

CHANGER_ELEMENT_STATUS_EX

ChangerGetElementStatus