共用方式為


OID_NIC_SWITCH_ENUM_VPORTS

過度處理驅動程式或使用者模式應用程式會發出物件識別碼, (OID) 方法要求OID_NIC_SWITCH_ENUM_VPORTS以取得陣列。 陣列中的每個元素都會指定在網路介面卡 NIC 交換器上建立之虛擬埠 (VPort) 的屬性。

從這個 OID 查詢要求成功傳回之後,NDIS_OID_REQUEST結構的InformationBuffer成員會包含緩衝區的指標,其中包含下列專案:

備註

過度使用驅動程式和使用者模式應用程式發出 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 傳回信息。 在此情況下, 會忽略 SwitchIdAttachedFunctionId 的值。

如需詳細資訊,請參閱 列舉網路介面卡上的虛擬埠

傳回狀態碼

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)

另請參閱


NDIS_NIC_SWITCH_VPORT_INFO

NDIS_NIC_SWITCH_VPORT_INFO_ARRAY

NDIS_OID_REQUEST

OID_NIC_SWITCH_CREATE_SWITCH

OID_NIC_SWITCH_PARAMETERS