Функция 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. Если длина выходного буфера меньше размера(GET_CHANGER_PARAMETERS), драйвер класса changer возвращается со значением STATUS_INFO_LENGTH_MISMATCH.
ChangerGetParameters извлекает данные параметров с устройства, создавая СБР с cdBs, чтобы получить страницу заголовка параметра SCSI, страницу адреса элемента, страницу геометрии транспорта и страницу возможностей устройства или эквивалент не SCSI этих данных.
ChangerGetParameters затем заполняет структуру GET_CHANGER_PARAMETERS по Irp—>AssociatedIrp.SystemBuffer перед возвращением в драйвер класса changer.
Требования
Требование | Ценность |
---|---|
целевая платформа | Настольный |
заголовка | mcd.h (включая Mcd.h, Ntddchgr.h) |
IRQL | PASSIVE_LEVEL |