Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ChangerExchangeMedium обрабатывает аспекты IRP управления устройствами с IOCTL_CHANGER_EXCHANGE_MEDIUMкода IOCTL.
Синтаксис
NTSTATUS ChangerExchangeMedium(
[in] PDEVICE_OBJECT DeviceObject,
[in] PIRP Irp
);
Параметры
[in] DeviceObject
Указатель на объект устройства, представляющий средство изменения.
[in] Irp
Указатель на IRP.
Возвращаемое значение
Если изменение поддерживает обмен мультимедиа, ChangerExchangeMedium возвращает состояние, возвращаемое драйвером системного порта, или одно из следующих значений:
STATUS_SUCCESS
STATUS_DESTINATION_ELEMENT_FULL
STATUS_INVALID_ELEMENT_ADDRESS
STATUS_SOURCE_ELEMENT_EMPTY
Если изменение не поддерживает обмен мультимедиа, ChangerExchangeMedium возвращает STATUS_INVALID_DEVICE_REQUEST.
Замечания
Эта подпрограмма требуется.
ChangerExchangeMedium перемещает часть носителя из исходного элемента в одно место назначения и из этого назначения в другое. Источник и второе назначение часто совпадают, что приводит к простому обмену мультимедиа.
Флаг CHANGER_EXCHANGE_MEDIA в Features0 структуры GET_CHANGER_PARAMETERS указывает, поддерживает ли меняющийся набор функций. Средство изменения, поддерживающее обмен мультимедиа, обычно имеет два механизма выбора для одного транспортного элемента или по крайней мере два транспортных элемента. Средство изменения с одним механизмом выбора может поддерживать обмен средой с помощью эмуляции команды.
Драйвер класса changer проверяет длину входного буфера в расположении стека ввода-вывода перед вызовом процедуры драйвера miniclass ChangerExchangeMedium. Irp—>SystemBuffer указывает на структуру CHANGER_EXCHANGE_MEDIUM в качестве входного параметра, указывающего элемент транспорта и назначение для задания.
ChangerExchangeMedium сначала проверяет, допустимы ли адреса элементов транспорта, источника и назначения, а затем преобразует адреса элементов на основе нуля в адреса элементов для конкретного устройства. Затем он создает SRB с CDB для обмена носителем и отправляет его в системный драйвер порта.
Требования
| Требование | Ценность |
|---|---|
| целевая платформа | Настольный |
| заголовка | mcd.h (включая Mcd.h, Ntddchgr.h) |
| IRQL | PASSIVE_LEVEL |