OID_SRIOV_WRITE_VF_CONFIG_BLOCK
過度配置驅動程式會發出OID_SRIOV_WRITE_VF_CONFIG_BLOCK的物件標識碼 (OID) 集合要求,以將數據寫入PCI Express (PCIe) 虛擬函式 (VF) 組態區塊。
過度配置驅動程式會發出此 OID 設定要求給網路適配器 PCIe 實體函式 (PF) 的迷你埠驅動程式。 支援單一根 I/O 虛擬化 (SR-IOV) 介面的 PF 迷你埠驅動程式需要此 OID 方法要求。
InformationBufferNDIS_OID_REQUEST 結構的成員包含呼叫端配置緩衝區的指標。 此緩衝區的格式設定為包含下列專案:
包含位移的 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 迷你埠驅動程式必須遵循下列指導方針:
PF 迷你埠驅動程序必須確認 VFId 所指定的 VF,NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS 結構的成員具有先前已配置的資源。 PF 迷你埠驅動程式會在 OID_NIC_SWITCH_ALLOCATE_VF的 OID 方法要求期間,為 VF 配置資源。 如果未配置指定 VF 的資源,驅動程式必須失敗 OID 要求。
PF 迷你埠驅動程序必須確認 NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS 結構 BlockId 成員指定有效的 VF 組態區塊。 如果沒有,驅動程式必須失敗 OID 要求。
如需單一根目錄 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。BytesNeededNDIS_OID_REQUEST 結構中的成員,以所需的緩衝區大小下限。 |
NDIS_STATUS_FAILURE |
要求因其他原因而失敗。 |
要求
版本 |
NDIS 6.30 和更新版本支援。 |
頁眉 |
Ntddndis.h (包括 Ndis.h) |