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


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

См. также

CHANGER_ELEMENT

CHANGER_ELEMENT_LIST

CHANGER_ELEMENT_STATUS

CHANGER_ELEMENT_STATUS_EX

CHANGER_READ_ELEMENT STATUS

ChangerGetStatus

ChangerInitializeElementStatus

ChangerQueryVolumeTags

IOCTL_CHANGER_GET_ELEMENT_STATUS