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

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

Синтаксис

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

Параметры

[in] DeviceObject

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

[in] Irp

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

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

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

STATUS_SUCCESS

STATUS_INVALID_ELEMENT_ADDRESS

STATUS_INVALID_PARAMETER

STATUS_INSUFFICIENT_RESOURCES

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

Комментарии

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

ChangerReinitializeUnit приводит к повторной калибровке транспортного элемента. В зависимости от сменного элемента транспорт может вернуться в положение "домой". Драйвер класса changer обычно вызывает ChangerReinitializeUnit после включения пейнджера или после того, как вызывающее приложение инициировало операцию восстановления. Флаг CHANGER_DEVICE_REINITIALIZE_CAPABLE в Features0GET_CHANGER_PARAMETERS указывает, поддерживает ли транспорт меняющего средства перекалибрование в этих обстоятельствах.

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

ChangerReinitializeUnit создает SRB с CDB для размещения элемента транспорта и отправляет его в драйвер системного порта.

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

Требования

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

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

, IOCTL_CHANGER_REINITIALIZE_TRANSPORT

CHANGER_ELEMENT

GET_CHANGER_PARAMETERS