迷你埠驅動程式會呼叫 NdisMSetVirtualFunctionBusData 函式,將數據寫入網路適配器上虛擬函式 (VF) 的 PCI Express (PCIe) 組態空間。
語法
ULONG NdisMSetVirtualFunctionBusData(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] NDIS_SRIOV_FUNCTION_ID VFId,
[in] PVOID Buffer,
[in] ULONG Offset,
[in] ULONG Length
);
參數
[in] NdisMiniportHandle
NDIS 傳遞至 MiniportAdapterHandleMiniportInitializeEx的網路適配器句柄。
[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 要求,以查詢 GUID_PCI_VIRTUALIZATION_INTERFACE 介面。 必須從 IRQL = PASSIVE_LEVEL提出此要求。 在此要求中,驅動程式必須將 InterfaceType 參數設定為 GUID_PCI_VIRTUALIZATION_INTERFACE。
要求
| 要求 | 價值 |
|---|---|
| 最低支援的用戶端 | 不支援,在 NDIS 6.30 和更新版本中支援。 |
| 支援的最低伺服器 | Windows Server 2012 |
| 目標平臺 | 普遍 |
| 標頭 | ndis.h (包括 Ndis.h) |
| 連結庫 | Ndis.lib |
| IRQL | <= DISPATCH_LEVEL |
另請參閱
GUID_PCI_VIRTUALIZATION_INTERFACE