Функция ScsiPortGetBusData (srb.h)

Подпрограмма ScsiPortGetBusData возвращает сведения о конфигурации конкретного типа шины, которые может использовать подпрограмма HwScsiFindAdapter водителя мини-порта, чтобы определить, поддерживает ли она определенный адаптер в определенной шине ввода-вывода, и настроить адаптер HBA, если это так.

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

Синтаксис

SCSIPORT_API ULONG ScsiPortGetBusData(
  [in] PVOID DeviceExtension,
  [in] ULONG BusDataType,
  [in] ULONG SystemIoBusNumber,
  [in] ULONG SlotNumber,
  [in] PVOID Buffer,
  [in] ULONG Length
);

Параметры

[in] DeviceExtension

Указатель на область хранения драйвера мини-порта на единицу шины.

[in] BusDataType

Содержит значение типа BUS_DATA_TYPE , указывающее тип возвращаемых данных конфигурации для конкретной шины. В настоящее время это значение может иметь одно из следующих значений: Cmos, EisaConfiguration, Pos или PCIConfiguration. Однако в будущем будут поддерживаться дополнительные типы конфигурации шины. Верхняя граница поддерживаемых типов всегда имеет значение MaximumBusDataType.

[in] SystemIoBusNumber

Указывает назначенный системой номер шины ввода-вывода. Подпрограмма HwScsiFindAdapter драйвера miniport получает это значение из входного элемента PORT_CONFIGURATION_INFORMATION SystemIoBusNumber .

[in] SlotNumber

Указывает номер логического слота или расположение устройства.

Если pciConfiguration указан как BusDataType, этот параметр должен быть указан как значение типа PCI_SLOT_NUMBER.

[in] Buffer

Указатель на буфер или область, в которую возвращаются данные конфигурации, или, если заданная длина равна нулю, указывает на расположение, в которое драйвер порта операционной системы возвращает указатель на буфер, который он выделяет.

[in] Length

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

Возвращаемое значение

ScsiPortGetBusData возвращает количество байтов сведений о конфигурации, хранящихся в буфере. Если входной тип BusDataType имеет значение PCIConfiguration, ScsiPortGetBusData может вернуть одно из следующих значений, чтобы указать на ошибку.

Код возврата Описание
0 (ноль)
Шина PCI не существует.
2
Шина PCI существует, но нет устройства в заданном pci SlotNumber. Буфер содержит значение, PCI_INVALID_VENDOR_ID в элементе PCI_COMMON_CONFIG VendorId.

Комментарии

ScsiPortGetBusData можно вызывать только из подпрограммы HwScsiFindAdapter драйвера мини-порта или из HwScsiAdapterControl , если тип элемента управления — ScsiSetRunningConfig. Вызовы из других подпрограмм драйвера минипорта приведут к сбою системы или неправильной работе вызывающего объекта.

Данные конфигурации, возвращаемые ScsiPortGetBusData , действительны только до тех пор, пока драйвер мини-порта снова не вызовет ScsiPortGetBusData . Как только подпрограмма HwScsiFindAdapter вызывающей стороны возвращает элемент управления, все возвращенные данные конфигурации становятся недопустимыми.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть srb.h (включая Miniport.h, Scsi.h)
Библиотека Scsiport.lib

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

HwScsiFindAdapter

PCI_COMMON_CONFIG

PCI_SLOT_NUMBER

PORT_CONFIGURATION_INFORMATION (SCSI)