OID_NIC_SWITCH_CREATE_SWITCH
NDIS 會發出物件識別碼 (OID) 方法要求,OID_NIC_SWITCH_CREATE_SWITCH在網路介面卡上建立 NIC 交換器。 當它處理這個 OID 要求時,迷你埠驅動程式會在介面卡上配置 NIC 交換器的資源。
NDIS 會發出此 OID 方法要求給網路介面卡 PCI Express (PCIe) 實體函式 (PF) 的迷你埠驅動程式。 PF 迷你埠驅動程式需要此 OID 方法要求,這些驅動程式支援單一根目錄 I/O 虛擬化 (SR-IOV) 介面。
注意 過度配置驅動程式,例如通訊協定或篩選驅動程式,無法對 PF 迷你埠驅動程式發出 OID 方法要求OID_NIC_SWITCH_CREATE_SWITCH。
NDIS_OID_REQUEST結構的InformationBuffer成員包含NDIS_NIC_SWITCH_PARAMETERS結構的指標。
備註
當它收到 OID_NIC_SWITCH_CREATE_SWITCH 的 OID 方法要求時,PF 迷你埠驅動程式必須執行下列動作:
如果 PF 迷你埠驅動程式支援靜態交換器建立和設定,則會在 NDIS 呼叫 MiniportInitializeEx時建立 NIC 參數。 當驅動程式處理此 OID 要求時,它必須驗證 NDIS_NIC_SWITCH_PARAMETERS 結構中的組態參數。 參數必須與驅動程式用來在 呼叫 MiniportInitializeEx期間建立切換的參數相同。 如果這不是 true,則驅動程式必須失敗 OID 要求。
如需詳細資訊,請參閱 靜態建立 NIC 參數。
如果 PF 迷你埠驅動程式支援動態交換器建立和設定,驅動程式必須驗證 NDIS_NIC_SWITCH_PARAMETERS 結構的組態值,並根據這些值建立 NIC 交換器。
如需詳細資訊,請參閱 動態建立 NIC 交換器。
PF 迷你埠驅動程式必須為 NIC 交換器上的預設 VPort 配置必要的硬體和軟體資源。
注意 預設 VPort 一律會透過 OID_NIC_SWITCH_CREATE_SWITCH 的 OID 要求建立,並透過 OID_NIC_SWITCH_DELETE_SWITCH的 OID 要求刪除。 OID 要求 OID_NIC_SWITCH_CREATE_VPORT 和 OID_NIC_SWITCH_DELETE_VPORT 用於在 NIC 交換器上建立和刪除非預設 VPorts。
支援動態交換器建立和設定的 PF 迷你埠驅動程式必須藉由呼叫 NdisMEnableVirtualization,在交換器上啟用 SR-IOV 虛擬化。 此呼叫會在介面卡 PCI Express (PCIe) 設定空間的 SR-IOV 擴充功能結構中設定 NumVFs 成員和 VF Enable 位。
如需 SR-IOV 設定空間的詳細資訊,請參閱 PCI-SIG 單一根目錄 I/O 虛擬化和共用 1.1 規格。
注意 如果 PF 迷你埠驅動程式支援靜態交換器建立,它會在呼叫 MiniportInitializeEx 時建立交換器之後啟用 SR-IOV 虛擬化。
如果 PF 迷你埠驅動程式成功完成OID_NIC_SWITCH_CREATE_SWITCH的 OID 方法要求,則會允許執行下列動作:
VFS 可以透過 OID_NIC_SWITCH_ALLOCATE_VF的 OID 方法要求,在 NIC 交換器上配置。
您可以透過 OID_NIC_SWITCH_CREATE_VPORT的 OID 方法要求,在 NIC 交換器上建立非預設 VPorts。
如需如何處理此 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 迷你埠驅動程式必須設定DATA。METHOD_INFORMATION。NDIS_OID_REQUEST 結構中的 BytesNeeded成員,到所需的緩衝區大小下限。 |
NDIS_STATUS_FAILURE |
要求因其他原因而失敗。 |
規格需求
版本 |
NDIS 6.30 和更新版本支援。 |
標頭 |
Ntddndis.h (包含 Ndis.h) |