IOCTL_SCSI_GET_INQUIRY_DATA IOCTL (ntddscsi.h)
Возвращает данные запроса SCSI для всех устройств на заданном адаптере шины узла SCSI (HBA). Если IOCTL используется в пользовательском пространстве, программа должна открыть дескриптор для HBA, который можно перечислить различными средствами, например вызовы SetupDixxx. Вы можете использовать IOCTL_STORAGE_QUERY_PROPERTY для поиска сведений о конкретном устройстве в HBA. Чтобы определить требуемый размер буфера вывода, вызывающий объект должен отправить этот запрос IOCTL в цикле. Каждый раз, когда стек хранилища отклоняет IOCTL с сообщением об ошибке, указывающее, что буфер слишком мал, вызывающий объект должен удвоить размер буфера.
Основной код
Входной буфер
Отсутствует.
Длина входного буфера
Отсутствует.
Выходной буфер
Буфер в 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) |