Функция StorPortGetBusData (storport.h)
Подпрограмма StorPortGetBusData извлекает сведения о конфигурации шины, необходимые для инициализации HBA.
Синтаксис
STORPORT_API ULONG StorPortGetBusData(
[in] PVOID DeviceExtension,
[in] ULONG BusDataType,
[in] ULONG SystemIoBusNumber,
[in] ULONG SlotNumber,
[in, out] PVOID Buffer,
[in] ULONG Length
);
Параметры
[in] DeviceExtension
Указатель на область хранения драйвера мини-порта на единицу шины.
[in] BusDataType
Содержит значение типа BUS_DATA_TYPE , указывающее тип возвращаемых данных конфигурации для конкретной шины. В настоящее время это значение может иметь одно из следующих значений: Cmos, EisaConfiguration, Pos или PCIConfiguration. Однако в будущем будут поддерживаться дополнительные типы конфигурации шины. Верхняя граница поддерживаемых типов всегда имеет значение MaximumBusDataType.
[in] SystemIoBusNumber
Указывает назначенный системой номер шины ввода-вывода. Подпрограмма HwStorFindAdapter драйвера мини-порта получает это значение из элемента SystemIoBusNumber , изначально заданного в PORT_CONFIGURATION_INFORMATION.
[in] SlotNumber
Указывает номер логического слота или расположение устройства.
Если pciConfiguration указан как BusDataType, этот параметр должен быть указан как значение типа PCI_SLOT_NUMBER.
[in, out] Buffer
Указатель на буфер или область, в которую возвращаются данные конфигурации, или, если заданная длина равна нулю, указывает на расположение, в которое драйвер порта операционной системы возвращает указатель на буфер, который он выделяет.
[in] Length
Указывает максимальное количество байтов, возвращаемых в буфере, или ноль, если вызывающий объект требует, чтобы драйвер порта для конкретной ОС выделил буфер для хранения данных.
Возвращаемое значение
StorPortGetBusData возвращает количество байтов сведений о конфигурации, хранящихся в буфере. Если входной тип BusDataType имеет значение PCIConfiguration, StorPortGetBusData может возвращать одно из следующих значений, чтобы указать на ошибку.
Код возврата | Описание |
---|---|
0 (ноль) | Шина PCI не существует. |
2 | Шина PCI существует, но нет устройства в заданном pci SlotNumber. Буфер содержит значение, PCI_INVALID_VENDOR_ID в элементе PCI_COMMON_CONFIG VendorId. |
Комментарии
Драйвер мини-порта может вызывать StorPortGetBusData из следующих процедур:
- Из процедуры обратного вызова HwStorFindAdapter .
- Из HwStorAdapterControl только в том случае, если controlType имеет значение ScsiSetRunningConfig.
Вызовы из других подпрограмм драйвера минипорта приведут к сбою системы или неправильной работе вызывающего объекта.
Данные конфигурации, возвращаемые StorPortGetBusData , действительны только до тех пор, пока драйвер мини-порта снова не вызовет StorPortGetBusData . Как только подпрограмма HwStorFindAdapter вызывающей стороны возвращает управление, все возвращенные данные конфигурации становятся недопустимыми.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | storport.h (включая Storport.h) |
Библиотека | Storport.lib |