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


IOCTL_SCSI_GET_INQUIRY_DATA IOCTL (ntddscsi.h)

Возвращает данные запроса SCSI для всех устройств на заданном адаптере шины узла SCSI (HBA). Если IOCTL используется в пространстве пользователя, программа должна открыть дескриптор для HBA, который можно перечислить различными способами, такими как вызовы SetupDixxx. Вы можете использовать IOCTL_STORAGE_QUERY_PROPERTY для поиска сведений о конкретном устройстве в HBA. Чтобы определить необходимый размер выходного буфера, вызывающий объект должен отправить этот запрос IOCTL в цикле. Каждый раз, когда стек хранилища отклоняет IOCTL с сообщением об ошибке, указывающее, что буфер слишком мал, вызывающий объект должен удвоить размер буфера.

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

Основной код

IRP_MJ_DEVICE_CONTROL

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

Нет.

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

Нет.

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

Буфер в Irp-AssociatedIrp.SystemBuffer> содержит возвращенные данные запроса. Описание структуры данных запроса в выходном буфере см. в разделе SCSI_ADAPTER_BUS_INFO.

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

Parameters.DeviceIoControl.OutputBufferLength указывает размер буфера в байтах, который должен иметь >значение = (sizeof(SCSI_ADAPTER_BUS_INFO) + (NumberOfBuses) * sizeof(SCSI_BUS_DATA)) + (InquiryDataSize * NumberOfLUs), где параметр InquiryDataSize имеет значение (sizeof(SCSI_INQUIRY_DATA) - 1 + INQUIRYDATABUFFERSIZE), округленное до границы выравнивания.

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

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

Требования

Требование Значение
Заголовок ntddscsi.h (включая Ntddscsi.h)

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

IOCTL_SCSI_MINIPORT

IOCTL_SCSI_PASS_THROUGH

IOCTL_SCSI_PASS_THROUGH_DIRECT

IOCTL_SCSI_RESCAN_BUS

IOCTL_STORAGE_QUERY_PROPERTY

SCSI_ADAPTER_BUS_INFO

SCSI_INQUIRY_DATA

STORAGE_DEVICE_DESCRIPTOR