OID_SRIOV_BAR_RESOURCES
NDIS 發出物件識別碼 (OID) 方法要求 OID_SRIOV_BAR_RESOURCES,以判斷配置給 PCI Express (PCIe) BASE Address Register (BAR) PCIe 虛擬函式 (VF) 的記憶體資源。
NDIS 會針對網路介面卡 PCIe 實體函式的迷你埠驅動程式發出此 OID 方法要求, (PF) 。 支援單一根目錄 I/O 虛擬化 (SR-IOV) 介面的 PF 迷你埠驅動程式需要這個 OID 方法要求。
NDIS_OID_REQUEST結構的InformationBuffer成員包含緩衝區的指標。 此緩衝區包含下列結構:
NDIS_SRIOV_BAR_RESOURCES_INFO結構,指定 PF 迷你埠驅動程式傳回資源資訊的 VF 和 BAR。
遵循 NDIS_SRIOV_BAR_RESOURCES_INFO 結構的 CM_PARTIAL_RESOURCE_DESCRIPTOR 結構。 CM_PARTIAL_RESOURCE_DESCRIPTOR結構包含配置給指定 BAR 的記憶體資源相關資訊。
備註
NDIS 發出OID_SRIOV_BAR_RESOURCES的 OID 方法要求,以取得配置給 VF BAR 的系統實體位址和記憶體資源的長度。 發出 OID 方法要求之前,NDIS 會以下列方式格式化 NDIS_SRIOV_BAR_RESOURCES_INFO 結構:
NDIS 會將NDIS_SRIOV_BAR_RESOURCES_INFO結構的VFId成員設定為與 VF 相關聯的識別碼。
NDIS 會將NDIS_SRIOV_BAR_RESOURCES_INFO結構的BarIndex成員設定為指定 VF 的 BAR 索引。 BAR 索引是 PCI 組態空間中 BAR 資料表內的暫存器位移。
NDIS 會將NDIS_SRIOV_BAR_RESOURCES_INFO結構的BarResourcesOffset成員設定為從NDIS_SRIOV_BAR_RESOURCES_INFO結構的開頭到CM_PARTIAL_RESOURCE_DESCRIPTOR結構的位移。
注意 過度配置驅動程式,例如通訊協定或篩選驅動程式,無法對 PF 迷你埠驅動程式發出 OID 方法要求OID_SRIOV_BAR_RESOURCES。
當 PF 迷你埠驅動程式收到 OID 方法要求時,驅動程式會藉由格式化NDIS_OID_REQUEST結構之 InformationBuffer成員內的CM_PARTIAL_RESOURCE_DESCRIPTOR結構,傳回指定 BAR 的資源。 驅動程式會將 CM_PARTIAL_RESOURCE_DESCRIPTOR 結構格式化為與指定 VF 之 BAR 相關聯的系統硬體資源。
注意 驅動程式必須格式化 CmResourceTypeMemory資源類型的結構。
傳回狀態碼
PF 迷你埠驅動程式會針對OID_SRIOV_BAR_RESOURCES的方法要求,傳回下列其中一個狀態碼。
狀態碼 | 描述 |
---|---|
NDIS_STATUS_SUCCESS |
OID 要求已成功完成。 |
NDIS_STATUS_NOT_SUPPORTED |
PF 迷你埠驅動程式不支援單一根目錄 I/O 虛擬化 (SR-IOV) 介面,或未啟用介面。 |
NDIS_STATUS_INVALID_PARAMETER |
NDIS_SRIOV_BAR_RESOURCES_INFO結構的一或多個成員具有不正確值。 |
NDIS_STATUS_INVALID_LENGTH |
資訊緩衝區小於 (sizeof (NDIS_SRIOV_BAR_RESOURCES_INFO) + sizeof (CM_PARTIAL_RESOURCE_DESCRIPTOR) 。 PF 迷你埠驅動程式必須設定DATA。METHOD_INFORMATION。NDIS_OID_REQUEST 結構中的 BytesNeeded成員,以達到所需的最小緩衝區大小。 |
NDIS_STATUS_FAILURE |
要求因其他原因而失敗。 |
規格需求
版本 |
NDIS 6.30 和更新版本支援。 |
標頭 |
Ntddndis.h (包括 Ndis.h) |