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


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