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) округляется до границы выравнивания.

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

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

Требования

   
Заголовок ntddscsi.h (include 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