Функция 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
Указатель на область хранения мини-порта для каждого HBA.
[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 возвращает количество байтов сведений о конфигурации, хранящихся в буфере. Если входной BusDataTypePCIConfiguration, StorPortGetBusData может возвращать одно из следующих значений, чтобы указать ошибку.
Возвращаемый код | Описание |
---|---|
0 (ноль) | Шина PCI не существует. |
2 | Шина PCI существует, но устройство на заданном pci slotNumberотсутствует. Буфер содержит значение PCI_INVALID_VENDOR_ID элемента PCI_COMMON_CONFIG VendorId. |
Замечания
Минипорт-драйвер может вызывать StorPortGetBusData из следующих подпрограмм:
- Из подпрограммы обратного вызова HwStorFindAdapter.
- Из HwStorAdapterControl, только если ControlTypeScsiSetRunningConfig.
Вызовы из других подпрограмм драйвера минипорта приводят к сбою системы или неправильной операции для вызывающего абонента.
Данные конфигурации, возвращаемые StorPortGetBusData, действительны только до тех пор, пока драйвер минипорта не вызовет StorPortGetBusData. Как только вызывающий HwStorFindAdapter подпрограмма возвращает элемент управления, все возвращаемые данные конфигурации становятся недействительными.
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
заголовка | storport.h (include Storport.h) |
библиотеки | Storport.lib |