Поделиться через


IOCTL_SCSI_MINIPORT IOCTL (ntddscsi.h)

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

Чтобы получить все запущенные устройства класса ScsiAdapter, необходимо использовать api-интерфейсыXxx SetupDi. Получите свойства каждого экземпляра устройства и откройте его напрямую. %d SCSI (например, \\.\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