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

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

Синтаксис

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

Параметры

[in] DeviceObject

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

[in] Irp

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

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

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

STATUS_SUCCESS

STATUS_DESTINATION_ELEMENT_FULL

STATUS_INVALID_ELEMENT_ADDRESS

STATUS_INVALID_DEVICE_REQUEST

STATUS_INVALID_PARAMETER

STATUS_INSUFFICIENT_RESOURCES

STATUS_SOURCE_ELEMENT_EMPTY

Комментарии

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

ChangerMoveMedium перемещает элемент мультимедиа из одного элемента в другой.

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

ChangerMoveMedium сначала проверяет, являются ли адреса транспортных, исходных и целевых элементов допустимыми, а затем преобразует адреса элементов с нуля в адреса конкретных устройств. Затем он создает SRB с CDB для перемещения части носителя и отправляет его в драйвер системного порта.

ChangerMoveMedium устанавливает для поля Information в блоке состояния ввода-вывода значение sizeof(CHANGER_MOVE_MEDIUM) перед возвратом к драйверу класса changer.

Требования

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

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

,

CHANGER_ELEMENT

CHANGER_MOVE_MEDIUM

ChangerExchangeMedium