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