共用方式為


NdisMSetVirtualFunctionBusData 函式 (ndis.h)

迷你埠驅動程式會呼叫 NdisMSetVirtualFunctionBusData 函式,將數據寫入網路適配器上虛擬函式 (VF) 的 PCI Express (PCIe) 設定空間。

注意NdisMGetVirtualFunctionBusData 只能由網路適配器的PCIe實體函式 (PF) 的迷你埠驅動程式呼叫。
 

語法

ULONG NdisMSetVirtualFunctionBusData(
  [in] NDIS_HANDLE            NdisMiniportHandle,
  [in] NDIS_SRIOV_FUNCTION_ID VFId,
  [in] PVOID                  Buffer,
  [in] ULONG                  Offset,
  [in] ULONG                  Length
);

參數

[in] NdisMiniportHandle

NDIS 傳遞給 MiniportInitializeExMiniportAdapterHandle 參數的網路適配器句柄。

[in] VFId

將數據寫入其PCI組態空間之 VF 的識別碼。

[in] Buffer

緩衝區的指標,其中包含要寫入PCI組態空間的數據。

[in] Offset

寫入數據的PCI組態空間中,以位元組為單位的位移。

[in] Length

要寫入之數據的長度,以位元組為單位。

傳回值

NdisMSetVirtualFunctionBusData 會傳回寫入PCI設定空間的位元組數目。 如果寫入作業失敗, NdisMSetVirtualFunctionBusData 會傳回零。

備註

PF 迷你埠驅動程式通常會在處理 OID_SRIOV_WRITE_VF_CONFIG_SPACE 的 OID 方法要求時呼叫 NdisMSetVirtualFunctionBusData
不過,驅動程式可以在網路適配器上透過對 NdisMEnableVirtualization 的呼叫啟用虛擬化之後,隨時呼叫此函式。

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

如需 SR-IOV 介面的詳細資訊,請參閱 單一根目錄 I/O 虛擬化概觀 (SR-IOV)

與虛擬總線驅動程序互動

如果獨立硬體廠商 (IHV) 在 SR-IOV 驅動程式套件中提供虛擬總線驅動程式 (VBD) ,則其迷你埠驅動程式不得呼叫 NdisMSetVirtualFunctionBusData。 相反地,驅動程式必須透過私人通道與 VBD 介面,並要求 VBD 呼叫 SetVirtualFunctionData。 此函式會從基礎PCI總線驅動程式支援的 GUID_PCI_VIRTUALIZATION_INTERFACE 介面公開。

在 Hyper-V 父數據分割的管理作業系統中執行的 VBD,可以藉由對 PCI 總線上的 PDO) 發出IRP_MN_QUERY_INTERFACE要求,向其實體裝置 (對象發出IRP_MN_QUERY_INTERFACE要求,以查詢GUID_PCI_VIRTUALIZATION_INTERFACE介面。 您必須從 IRQL = PASSIVE_LEVEL提出此要求。 在此要求中,驅動程式必須將 InterfaceType 參數設定為 GUID_PCI_VIRTUALIZATION_INTERFACE。

規格需求

需求
最低支援的用戶端 不支援,NDIS 6.30 和更新版本中支援。
最低支援的伺服器 Windows Server 2012
目標平台 Universal
標頭 ndis.h (包括 Ndis.h)
程式庫 Ndis.lib
IRQL <= DISPATCH_LEVEL

另請參閱

GUID_PCI_VIRTUALIZATION_INTERFACE

NdisMEnableVirtualization

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_WRITE_VF_CONFIG_SPACE

SetVirtualFunctionData