IOCTL_SCSI_MINIPORT IOCTL (ntddscsi.h)

Отправляет специальную функцию управления драйверу мини-порта адаптера шины узла. Результаты зависят от конкретного драйвера минипорта, которому пересылается этот запрос. Если вызывающий объект задает ненулевое значение Length, входной или выходной буфер должен быть по крайней мере (sizeof(SRB_IO_CONTROL) + DataBufferLength)).

Назначенный способ открыть HBA — использовать API SetupDiXxx для получения всех работающих устройств класса ScsiAdapter. Получите свойства каждого экземпляра устройства и откройте его напрямую. SCSI%d (например, \\.\Scsi0:) является символьной ссылкой, а не всеми драйверами хранилища, которые создают ссылку.

Примечание

В будущем драйверы портов SCSI и модели драйверов мини-порта SCSI могут быть изменены или недоступны. Вместо этого рекомендуется использовать драйверы Storport и модели драйверов мини-порта Storport .

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Буфер в Irp-AssociatedIrp.SystemBuffer> должен содержать структуру SRB_IO_CONTROL.

Длина входного буфера

Parameters.DeviceIoControl.InputBufferLength указывает размер буфера (в байтах), который должен быть по крайней мере sizeof(SRB_IO_CONTROL), с дополнительным хранилищем для данных, если поле Length не равно нулю.

Выходной буфер

Обновленная структура SRB_IO_CONTROL возвращается в буфер в Irp-AssociatedIrp.SystemBuffer>.

Длина выходного буфера

Длина структуры SRB_IO_CONTROL .

Входной и выходной буфер

Нет.

Длина входного и выходного буфера

Не применяется

Блок состояния

Поле "Сведения" содержит количество байтов, возвращаемых в выходном буфере. Поле "Состояние " указывает результаты операции.

Требования

   
Заголовок ntddscsi.h (include Ntddscsi.h)

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

SRB_IO_CONTROL