共用方式為


NdisMGetVirtualFunctionBusData 函式 (ndis.h)

迷你埠驅動程式會呼叫 NdisMGetVirtualFunctionBusData 函式,從網路適配器上指定虛擬函式 (VF) 的 PCI Express (PCIe) 設定空間讀取數據。

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

語法

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

參數

[in] NdisMiniportHandle

NDIS 傳遞至 MiniportAdapterHandleMiniportInitializeEx的網路適配器句柄。

[in] VFId

從中傳回PCI組態空間數據的VF標識碼。

[out] Buffer

緩衝區的指標,接收從 VF 的 PCI 組態空間讀取的數據。

[in] Offset

VF 的PCI組態空間中,以位元組為單位的位移,用來讀取數據。

[in] Length

要讀取之數據的長度,以位元組為單位。

NoteBuffer 所參考的緩衝區大小必須至少與 Length 參數的值一樣大。
 

傳回值

NdisMGetVirtualFunctionBusData 會傳回從 PCI 組態空間讀取的位元元組數目。 如果讀取作業失敗,NdisMGetVirtualFunctionBusData 傳回零。

言論

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

如需如何查詢 VF PCI 組態空間的詳細資訊,請參閱 查詢虛擬函式的 PCI 組態空間

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

與虛擬總線驅動程式的介面

如果獨立硬體廠商 (IHV) 在其 SR-IOV 驅動程式套件中提供虛擬總線驅動程式 (VBD),則其迷你埠驅動程式不得呼叫 NdisMGetVirtualFunctionBusData。 相反地,驅動程式必須透過私人通道與 VBD 介面,並要求 VBD 呼叫 GetVirtualFunctionData。 此函式會從基礎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

GetVirtualFunctionData

NdisMEnableVirtualization

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_READ_VF_CONFIG_SPACE