Функция ScsiPortGetBusData (srb.h)
Подпрограмма ScsiPortGetBusData возвращает сведения о конфигурации конкретного типа шины, которые может использовать подпрограмма HwScsiFindAdapter водителя мини-порта, чтобы определить, поддерживает ли она определенный адаптер в определенной шине ввода-вывода, и настроить адаптер HBA, если это так.
Синтаксис
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 может вернуть одно из следующих значений, чтобы указать на ошибку.
Код возврата | Описание |
---|---|
|
Шина PCI не существует. |
|
Шина 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 |