Функция 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_READ_ELEMENT