Функция 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 задано значение типа changer, которое не поддерживает сведения о теге тома, функция ChangerGetElementStatus возвращает STATUS_INVALID_PARAMETER.
Замечания
Эта подпрограмма требуется.
ChangerGetElementStatus возвращает состояние и, при необходимости, сведения о теге тома для всех элементов в средстве изменения или состояние определенного количества элементов определенного типа.
Драйвер класса changer проверяет длину входного и выходного буфера в расположении стека ввода-вывода перед вызовом ChangerGetElementStatus.
Irp—>SystemBuffer указывает на структуру CHANGER_READ_ELEMENT_STATUS в качестве входного параметра, указывающего элементы, для которых следует сообщать о состоянии и следует ли сообщать о тегах тома.
ChangerGetElementStatus сначала создает SRB с CDB для чтения команды состояния элемента и отправляет его в драйвер системного порта, чтобы получить состояние элементов изменения. Для большинства типов элементов ChangerGetElementStatus затем заполняет структуру CHANGER_ELEMENT_STATUS в Irp—>AssociatedIrp.SystemBuffer для каждого элемента, для которого он сообщает о состоянии. Однако некоторые элементы типа ChangerDrive возвращают данные сведений о продукте. Если устройство предоставляет сведения о продукте, драйвер миникласса должен сообщать данные о состоянии элемента в структуре типа CHANGER_ELEMENT_STATUS_EX вместо использования CHANGER_ELEMENT_STATUS. ChangerGetElementStatus должны указывать, что сведения о продукте присутствуют, задав ELEMENT_STATUS_PRODUCT_DATA в элементе структуры флагов.
ChangerGetElementStatus задает поле Information в блоке состояния ввода-вывода число возвращаемых байтов перед возвращением в драйвер класса changer.
Требования
Требование | Ценность |
---|---|
целевая платформа | Настольный |
заголовка | mcd.h (включая Mcd.h, Ntddchgr.h) |
IRQL | PASSIVE_LEVEL |