IOCTL_SCSI_MINIPORT IOCTL (ntddscsi.h)
Отправляет специальную функцию управления драйверу мини-порта адаптера шины узла (HBA). Результаты зависят от конкретного драйвера мини-порта, в который перенаправлен этот запрос. Если вызывающий объект задает ненулевое значение Length, входной или выходной буфер должен быть не менее (sizeof(SRB_IO_CONTROL) + DataBufferLength)).
Чтобы получить все работающие устройства класса ScsiAdapter, используйте API SetupDiXxx. Получите свойства каждого экземпляра устройства и откройте его напрямую. SCSI%d (например, \.\Scsi0:) является символьной ссылкой, и не все драйверы хранилища создают ссылку.
Примечание
Модели драйверов портов SCSI и драйверов мини-портов SCSI могут быть изменены или недоступны в будущем. Вместо этого рекомендуется использовать модели драйверов Storport и драйверов для мини-портов Storport .
Основной код
Входной буфер
Буфер в Irp-AssociatedIrp.SystemBuffer> должен содержать структуру SRB_IO_CONTROL.
Длина входного буфера
Parameters.DeviceIoControl.InputBufferLength указывает размер буфера в байтах, который должен быть не ниже sizeof(SRB_IO_CONTROL) с дополнительным хранилищем данных, если поле Length не равно нулю.
Выходной буфер
Обновленная структура SRB_IO_CONTROL возвращается в буфер по адресу Irp-AssociatedIrp.SystemBuffer>.
Длина выходного буфера
Длина структуры SRB_IO_CONTROL .
Буфер входных и выходных данных
Нет.
Длина входного/выходного буфера
Не применяется
Блок состояния
Поле Information содержит количество байтов, возвращаемых в выходном буфере. Поле Состояние указывает результаты операции.
Требования
Требование | Значение |
---|---|
Заголовок | ntddscsi.h (включая Ntddscsi.h) |