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

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

Синтаксис

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

Параметры

[in] DeviceObject

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

[in] Irp

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

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

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

STATUS_SUCCESS

STATUS_INFO_LENGTH_MISMATCH

STATUS_INSUFFICIENT_RESOURCES

Комментарии

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

ChangerGetParameters возвращает параметры модуля изменения, включая количество и тип его элементов, а также поддерживаемые им функциональные возможности.

Драйвер класса changer проверяет длину выходного буфера в расположении стека ввода-вывода перед вызовом ChangerGetParameters. Если длина выходного буфера меньше, чем sizeof(GET_CHANGER_PARAMETERS), драйвер класса средства изменения возвращает значение STATUS_INFO_LENGTH_MISMATCH.

ChangerGetParameters извлекает данные параметров с устройства, создавая СРБ с cdb, чтобы получить страницу заголовка параметра SCSI, страницу адреса элемента, страницу геометрии транспорта и страницу возможностей устройства или эквивалент этих данных, отличный от SCSI.

Затем ChangerGetParameters заполняет структуру GET_CHANGER_PARAMETERS в Irp-AssociatedIrp.SystemBuffer>, прежде чем вернуться к драйверу класса средства изменения.

Требования

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

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

GET_CHANGER_PARAMETERS

IOCTL_CHANGER_GET_PARAMETERS