Функция ChangerGetElementStatus (mcd.h)

ChangerGetElementStatus обрабатывает аспекты IRP элемента управления устройством с помощью кода IOCTL IOCTL_CHANGER_GET_ELEMENT_STATUS.

Синтаксис

NTSTATUS ChangerGetElementStatus(
  [in] PDEVICE_OBJECT DeviceObject,
  [in] PIRP           Irp
);

Параметры

[in] DeviceObject

Указатель на объект устройства, представляющий средство смены.

[in] Irp

Указатель на IRP.

Возвращаемое значение

ChangerGetElementStatus возвращает состояние, возвращаемое драйвером системного порта, или одно из следующих значений:

STATUS_SUCCESS

STATUS_INFO_LENGTH_MISMATCH

STATUS_INSUFFICIENT_RESOURCES

STATUS_INVALID_DEVICE_REQUEST

STATUS_INVALID_ELEMENT_ADDRESS

Если параметр VolumeTagInfo задан для меняющего модуля, который не поддерживает сведения о теге тома, ChangerGetElementStatus возвращает STATUS_INVALID_PARAMETER.

Комментарии

Эта подпрограмма является обязательной.

ChangerGetElementStatus возвращает состояние и, при необходимости, сведения о теге тома для всех элементов в средстве смены или состояние определенного числа элементов определенного типа.

Драйвер класса changer проверяет длину входного и выходного буферов в расположении стека ввода-вывода перед вызовом ChangerGetElementStatus.

Irp-SystemBuffer> указывает на структуру CHANGER_READ_ELEMENT_STATUS в качестве входного параметра, который указывает элементы, для которых нужно сообщать о состоянии, и указывает, следует ли сообщать сведения о теге тома.

ChangerGetElementStatus сначала создает SRB с CDB для чтения команды состояния элемента и отправляет ее в драйвер системного порта для получения состояния элементов меняющего устройства. Для большинства типов элементов ChangerGetElementStatus заполняет структуру CHANGER_ELEMENT_STATUSirp-AssociatedIrp.SystemBuffer> для каждого элемента, состояние которого сообщается. Однако некоторые элементы типа ChangerDrive возвращают данные о продукте. Если устройство предоставляет сведения о продукте, драйвер мини-класса должен сообщать данные о состоянии элемента в структуре типа CHANGER_ELEMENT_STATUS_EX вместо использования CHANGER_ELEMENT_STATUS. ChangerGetElementStatus должен указать, что сведения о продукте присутствуют, задав ELEMENT_STATUS_PRODUCT_DATA в элементе Flags структуры.

ChangerGetElementStatus задает для поля Information в блоке состояния ввода-вывода количество байтов, возвращенных перед возвратом в драйвер класса changer.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть mcd.h (включая Mcd.h, Ntddchgr.h)
IRQL PASSIVE_LEVEL

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

CHANGER_ELEMENT

CHANGER_ELEMENT_LIST

CHANGER_ELEMENT_STATUS

CHANGER_ELEMENT_STATUS_EX

СОСТОЯНИЕ CHANGER_READ_ELEMENT

ChangerGetStatus

ChangerInitializeElementStatus

ChangerQueryVolumeTags

IOCTL_CHANGER_GET_ELEMENT_STATUS