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


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

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

Синтаксис

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

Параметры

[in] DeviceObject

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

[in] Irp

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

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

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

STATUS_SUCCESS

STATUS_INFO_LENGTH_MISMATCH

STATUS_INVALID_PARAMETER

STATUS_INSUFFICIENT_RESOURCES

Если изменение не поддерживает настройку положения транспортного элемента, ChangerSetPosition возвращает STATUS_INVALID_DEVICE_REQUEST.

Замечания

Эта подпрограмма требуется.

ChangerSetPosition устанавливает роботизированный механизм транспорта изменения в указанное место назначения, как правило, для оптимизации перемещения или обмена мультимедиа путем первого размещения транспорта.

Флаг CHANGER_POSITION_TO_ELEMENT в Features0GET_CHANGER_PARAMETERS указывает, поддерживает ли этот метод изменения эту функцию.

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

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

ChangerSetPosition задает поле Information в блоке состояния ввода-вывода размер(CHANGER_SET_POSITION) перед возвратом к драйверу класса смены.

Требования

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

См. также

, IOCTL_CHANGER_SET_POSITION

CHANGER_ELEMENT

CHANGER_SET_POSITION