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 的值,指定要傳回之總線特定組態數據的型別。 目前,這個值可以是下列其中一項: [Azure]、 [EisaConfiguration]、 [Pos] 或 [PCIConfiguration]。 不過,未來將支援其他類型的總線組態。 所支持類型的上限一律為 MaximumBusDataType。
[in] SystemIoBusNumber
指定系統指派的 I/O 總線號碼。 迷你埠驅動程式的 HwStorFindAdapter 例程一開始會從 PORT_CONFIGURATION_INFORMATION 中設定的 SystemIoBusNumber 成員取得此值。
[in] SlotNumber
指定裝置的邏輯插槽號碼或位置。
如果 PCIConfiguration 指定為 BusDataType,則必須將此參數指定為PCI_SLOT_NUMBER類型值。
[in, out] Buffer
傳回組態數據的緩衝區或區域的指標;如果指定的 Length 為零,則指向 OS 特定埠驅動程式傳回其配置之緩衝區的指標。
[in] Length
指定在 Buffer 傳回的最大位元組數目,如果呼叫端要求 OS 特定的埠驅動程式配置緩衝區以包含數據,則為零。
傳回值
StorPortGetBusData 會傳回儲存在緩衝區中的組態資訊位元組數目。 當輸入 BusDataType 為 PCIConfiguration 時, StorPortGetBusData 可以傳回下列任一值來指出錯誤。
傳回碼 | Description |
---|---|
0 (零) | PCI 總線不存在。 |
2 | PCI 總線存在,但指定的PCI SlotNumber 上沒有裝置。 Buffer 包含PCI_COMMON_CONFIG VendorId 成員PCI_INVALID_VENDOR_ID值。 |
備註
迷你埠驅動程式可以從下列例程呼叫 StorPortGetBusData :
- 從其 HwStorFindAdapter 回呼例程。
- 只有在 ControlType 為 ScsiSetRunningConfig 時,才會從其 HwStorAdapterControl。
來自其他迷你埠驅動程式例程的呼叫會導致系統失敗或呼叫端的作業不正確。
StorPortGetBusData 傳回的設定數據只有在迷你埠驅動程式再次呼叫 StorPortGetBusData 之前才有效。 一旦呼叫端的 HwStorFindAdapter 例程傳回控制權,任何傳回的組態數據就會變成無效。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | storport.h (包含 Storport.h) |
程式庫 | Storport.lib |