OID_NIC_SWITCH_ENUM_VPORTS
過度處理驅動程式或使用者模式應用程式會發出物件識別碼, (OID) 方法要求OID_NIC_SWITCH_ENUM_VPORTS以取得陣列。 陣列中的每個元素都會指定在網路介面卡 NIC 交換器上建立之虛擬埠 (VPort) 的屬性。
從這個 OID 查詢要求成功傳回之後,NDIS_OID_REQUEST結構的InformationBuffer成員會包含緩衝區的指標,其中包含下列專案:
定義陣列內專案數目 的NDIS_NIC_SWITCH_VPORT_INFO_ARRAY 結構。
NDIS_NIC_SWITCH_VPORT_INFO結構的陣列。 每個結構都包含網路介面卡 NIC 交換器上 VPort 的相關資訊。
注意如果網路介面卡上未建立 VPorts,驅動程式會將NDIS_NIC_SWITCH_VPORT_INFO_ARRAY結構的NumElements成員設定為零,而且不會傳回任何NDIS_NIC_SWITCH_VPORT_INFO結構。
備註
過度使用驅動程式和使用者模式應用程式發出 OID 查詢要求OID_NIC_SWITCH_ENUM_VPORTS,以列舉網路介面卡 NIC 交換器上配置的 VPorts。
在驅動程式或應用程式發出 OID 要求之前,它必須初始化與要求一起傳遞 的NDIS_NIC_SWITCH_VPORT_INFO_ARRAY 結構。 初始化 NDIS_NIC_SWITCH_VPORT_INFO_ARRAY 結構時,驅動程式或應用程式必須遵循下列指導方針:
如果在 Flags 成員中設定NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_SWITCH旗標,則會針對在指定的 NIC 交換器上建立的所有 VPort 傳回信息。 NIC 參數是由該結構的 SwitchId 成員所指定。
注意從 Windows Server 2012 開始,SR-IOV 介面僅支援網路介面卡上的預設 NIC 交換器。 不論 Flags 成員中設定的旗標為何, SwitchId 成員都必須設定為 NDIS_DEFAULT_SWITCH_ID。
如果在 Flags 成員中設定NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_FUNCTION旗標,則會傳回附加至指定 PCI Express (PCIe) 實體函式 (PF) 或虛擬函式 (網路介面卡上 VF) 的所有 VPorts 資訊。 PF 或 VF 是由該結構的 AttachedFunctionId 成員所指定。
如果 AttachedFunctionId 成員設定為 NDIS_PF_FUNCTION_ID,則會傳回所有 VPort 的資訊,包括連結至網路介面卡的 PF 的預設 VPort。 如果 AttachedFunctionId 成員設定為有效的 VF 識別碼,則會將所有 VPorts 的資訊傳回至指定的 VF。
注意從 Windows Server 2012 開始,只有一個非預設 VPort 可以附加至 VF。 不過,多個 VPorts (包括預設 VPort) 可以附加至 PF。
如果 Flags 成員設定為零,則會針對連接至網路介面卡上 PF 或 VF 的所有 VPort 傳回信息。 在此情況下, 會忽略 SwitchId 和 AttachedFunctionId 的值。
如需詳細資訊,請參閱 列舉網路介面卡上的虛擬埠。
傳回狀態碼
NDIS 會處理迷你埠驅動程式OID_NIC_SWITCH_ENUM_VPORTS要求的 OID 方法要求。 驅動程式將不會發出此 OID 要求。
當 NDIS 處理OID_NIC_SWITCH_ENUM_VPORTS要求時,它會傳回下列其中一個狀態碼:
狀態碼 | 描述 |
---|---|
NDIS_STATUS_SUCCESS |
OID 要求已順利完成。 |
NDIS_STATUS_NOT_SUPPORTED |
迷你埠驅動程式不支援單一根目錄 I/O 虛擬化 (SR-IOV) 介面,或未啟用該介面。 |
NDIS_STATUS_INVALID_PARAMETER |
NDIS_NIC_SWITCH_VF_INFO_ARRAY結構的一或多個成員具有不正確值。 |
NDIS_STATUS_INVALID_LENGTH |
資訊緩衝區太短。 NDIS 會設定DATA。METHOD_INFORMATION。NDIS_OID_REQUEST 結構中的 BytesNeeded成員,到所需的緩衝區大小下限。 |
NDIS_STATUS_FAILURE |
要求因其他原因而失敗。 |
規格需求
版本 |
NDIS 6.30 和更新版本支援。 |
標頭 |
Ntddndis.h (包含 Ndis.h) |