共用方式為


OID_SRIOV_WRITE_VF_CONFIG_BLOCK

過度處理驅動程式會發出物件識別碼 (OID) 集要求 OID_SRIOV_WRITE_VF_CONFIG_BLOCK,以將資料寫入 PCI Express (PCIe) Virtual Function (VF) 組態區塊。

過度配置驅動程式會將此 OID 設定要求提供給網路介面卡 PCIe 實體函式的迷你埠驅動程式, (PF) 。 PF 迷你埠驅動程式需要此 OID 方法要求,這些驅動程式支援單一根目錄 I/O 虛擬化 (SR-IOV) 介面。

NDIS_OID_REQUEST結構的InformationBuffer成員包含呼叫端配置緩衝區的指標。 此緩衝區的格式設定為包含下列專案:

  • 包含位移的 NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS 結構,以位元組為單位,從這個 結構的開頭到緩衝區內包含寫入 VF 組態區塊之資料的位置。

  • 要寫入指定 VF 組態區塊之資料的額外緩衝區空間。

備註

VF 組態區塊用於 PF 與 VF 迷你埠驅動程式之間的反向通道通訊。 IHV 可以定義迷你埠驅動程式的一或多個 VF 組態區塊。 每個 VF 組態區塊都有 IHV 定義的格式、長度和區塊識別碼。

注意 來自每個 VF 組態區塊的資料只會由 PF 和 VF 迷你埠驅動程式使用。

在發出OID_SRIOV_WRITE_VF_CONFIG_BLOCK的 OID 集合要求之前,過度配置驅動程式必須以下列方式設定 NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS 結構的成員:

  • VFId 成員設定為要寫入資訊的 VF 識別碼。

  • BlockId 成員設定為要從中寫入資訊的組態區塊識別碼。

  • Length 成員設定為要寫入 VF 組態區塊的位元組數目。

  • BufferOffset 成員設定為 InformationBuffer 成員所參考之緩衝區 (內位移) ,其中包含要從指定的 VF 組態區塊寫入的資料。 這個位移是以 NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS 結構開頭的位元組單位來指定。

當它處理OID_SRIOV_WRITE_VF_CONFIG_BLOCK的 OID 集合要求時,PF 迷你埠驅動程式必須遵循下列指導方針:

如需單一根目錄 I/O 虛擬化 (SR-IOV) 介面內後端通道通訊的詳細資訊,請參閱 SR-IOV PF/VF Backchannel Communication

傳回狀態碼

迷你埠驅動程式會針對 OID_SRIOV_WRITE_VF_CONFIG_BLOCK 的 OID 集合要求,傳回下列其中一個狀態碼:

狀態碼 描述

NDIS_STATUS_SUCCESS

OID 要求已順利完成。

NDIS_STATUS_NOT_SUPPORTED

迷你埠驅動程式不支援單一根目錄 I/O 虛擬化 (SR-IOV) 介面,或未啟用該介面。

NDIS_STATUS_INVALID_PARAMETER

NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS結構的一或多個成員具有不正確值。

NDIS_STATUS_INVALID_LENGTH

資訊緩衝區太短。 NDIS 會設定DATA。SET_INFORMATION。NDIS_OID_REQUEST 結構中的 BytesNeeded成員,到所需的緩衝區大小下限。

NDIS_STATUS_FAILURE

要求因其他原因而失敗。

規格需求

版本

NDIS 6.30 和更新版本支援。

標頭

Ntddndis.h (包含 Ndis.h)

另請參閱


NDIS_OID_REQUEST

NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_READ_VF_CONFIG_SPACE