NdisMGetVirtualFunctionBusData 函式 (ndis.h)
迷你埠驅動程式會呼叫 NdisMGetVirtualFunctionBusData 函式,從 PCI Express (PCIe 讀取數據,) 網路適配器上的指定虛擬函式 (VF) 。
語法
ULONG NdisMGetVirtualFunctionBusData(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] NDIS_SRIOV_FUNCTION_ID VFId,
[out] PVOID Buffer,
[in] ULONG Offset,
[in] ULONG Length
);
參數
[in] NdisMiniportHandle
NDIS 傳遞給 MiniportInitializeEx 之 MiniportAdapterHandle 參數的網路適配器句柄。
[in] VFId
從中傳回PCI組態空間數據的VF標識碼。
[out] Buffer
緩衝區的指標,接收從 VF 的 PCI 組態空間讀取的數據。
[in] Offset
從中讀取數據的 VF PCI 設定空間中,以位元組為單位的位移。
[in] Length
要讀取之數據的長度,以位元組為單位。
傳回值
NdisMGetVirtualFunctionBusData 會傳回從PCI設定空間讀取的位元組數目。 如果讀取作業失敗, NdisMGetVirtualFunctionBusData 會傳回零。
備註
PF 迷你埠驅動程式通常會在處理 OID_SRIOV_READ_VF_CONFIG_SPACE 的 OID 方法要求時呼叫 NdisMGetVirtualFunctionBusData。
不過,驅動程式可以在網路適配器上透過對 NdisMEnableVirtualization 的呼叫啟用虛擬化之後,隨時呼叫此函式。
如需如何查詢 VF PCI 設定空間的詳細資訊,請參閱 查詢虛擬函式的 PCI 設定空間。
如需 SR-IOV 介面的詳細資訊,請參閱 單一根目錄 I/O 虛擬化概觀 (SR-IOV) 。
與虛擬總線驅動程序互動
如果獨立硬體廠商 (IHV) 提供虛擬總線驅動程式 (VBD) 作為 SR-IOV 驅動程式套件的一部分,則其迷你埠驅動程式不得呼叫 NdisMGetVirtualFunctionBusData。 相反地,驅動程式必須透過私人通道與 VBD 介面,並要求 VBD 呼叫 GetVirtualFunctionData。 此函式會從基礎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 |
另請參閱