共用方式為


OID_NIC_SWITCH_CREATE_SWITCH

NDIS 發出OID_NIC_SWITCH_CREATE_SWITCH的物件標識碼 (OID) 方法要求,以在網路適配器上建立 NIC 交換器。 處理此 OID 要求時,迷你埠驅動程式會在配接器上配置 NIC 交換器的資源。

NDIS 會向網路適配器 PCI Express (PCIe) 實體函式 (PF) 的迷你埠驅動程式發出這個 OID 方法要求。 支援單一根 I/O 虛擬化 (SR-IOV) 介面的 PF 迷你埠驅動程式需要此 OID 方法要求。

注意 過度配置驅動程式,例如通訊協定或篩選驅動程式,無法對 PF 迷你埠驅動程序發出 OID_NIC_SWITCH_CREATE_SWITCH的 OID 方法要求。

InformationBufferNDIS_OID_REQUEST 結構的成員包含 NDIS_NIC_SWITCH_PARAMETERS 結構的指標。

言論

當它收到 OID_NIC_SWITCH_CREATE_SWITCH 的 OID 方法要求時,PF 迷你埠驅動程式必須執行下列動作:

  1. 如果 PF 迷你埠驅動程式支援靜態交換器建立和設定,當 NDIS 呼叫 MiniportInitializeEx時,它會建立 NIC 參數。 當驅動程式處理此 OID 要求時,它必須確認 NDIS_NIC_SWITCH_PARAMETERS 結構中的組態參數。 參數必須與驅動程式用來在呼叫 MiniportInitializeEx期間建立 參數相同。 如果這不是 true,驅動程式必須失敗 OID 要求。

    如需詳細資訊,請參閱 靜態建立 NIC 交換器

  2. 如果 PF 迷你埠驅動程式支援動態交換器建立和設定,驅動程式必須驗證 NDIS_NIC_SWITCH_PARAMETERS 結構的組態值,並根據這些值建立 NIC 交換器。

    如需詳細資訊,請參閱 動態建立 NIC 交換器

  3. PF 迷你埠驅動程序必須為 NIC 交換器上的預設 VPort 配置必要的硬體和軟體資源。

    附註 預設 VPort 一律是透過 OID_NIC_SWITCH_CREATE_SWITCH 的 OID 要求建立,並透過 OID_NIC_SWITCH_DELETE_SWITCH的 OID 要求刪除。 OID 要求 OID_NIC_SWITCH_CREATE_VPORTOID_NIC_SWITCH_DELETE_VPORT 用於在 NIC 交換器上建立和刪除非預設 VPorts。

  4. 支援動態交換器建立和設定的 PF 迷你埠驅動程式必須呼叫 NdisMEnableVirtualization,在交換器上啟用 SR-IOV 虛擬化。 此呼叫會在適配卡 PCI Express (PCIe) 組態空間的 SR-IOV 擴充功能結構中設定 NumVF 成員和 VF Enable 位。

    如需 SR-IOV 組態空間的詳細資訊,請參閱 PCI-SIG 單一根目錄 I/O 虛擬化與共用 1.1 規格。

    注意 如果 PF 迷你埠驅動程式支援靜態交換器建立,則會在呼叫 MiniportInitializeEx時,啟用 SR-IOV 虛擬化。

如果 PF 迷你埠驅動程式順利完成 OID_NIC_SWITCH_CREATE_SWITCH 的 OID 方法要求,則會允許發生下列情況:

如需如何處理此 OID 要求的詳細資訊,請參閱 處理OID_NIC_SWITCH_CREATE_SWITCH要求

傳回狀態代碼

PF 迷你埠驅動程式會針對 OID_NIC_SWITCH_CREATE_SWITCH 的 OID 方法要求傳回下列其中一個狀態代碼。

狀態代碼 描述

NDIS_STATUS_SUCCESS

OID 要求已順利完成。

NDIS_STATUS_NOT_SUPPORTED

PF 迷你埠驅動程序不支援 SR-IOV 介面,或未啟用使用 介面。

NDIS_STATUS_INVALID_PARAMETER

NDIS_NIC_SWITCH_PARAMETERS 結構的一或多個成員具有無效的值。

NDIS_STATUS_INVALID_LENGTH

信息緩衝區的長度小於sizeof(NDIS_NIC_SWITCH_PARAMETERS)。 PF 迷你埠驅動程序必須設定 數據。METHOD_INFORMATION。BytesNeededNDIS_OID_REQUEST 結構中的成員,以所需的緩衝區大小下限。

NDIS_STATUS_FAILURE

要求因其他原因而失敗。

要求

版本

NDIS 6.30 和更新版本支援。

頁眉

Ntddndis.h (包括 Ndis.h)

另請參閱


MiniportInitializeEx

NDIS_OID_REQUEST

NDIS_NIC_SWITCH_PARAMETERS

NdisMEnableVirtualization

OID_NIC_SWITCH_ALLOCATE_VF

OID_NIC_SWITCH_CREATE_VPORT