共用方式為


NdisMQueryProbedBars 函式 (ndis.h)

迷你埠驅動程式會呼叫 NdisMQueryProbedBars 函式,以取得網路適配器 PCI Express (PCIe) 基地址緩存器 (BAR) 的值。 此函式會傳回在PCI總線驅動程式所執行查詢之後,網路配接器所報告的BAR值。 此查詢會決定網路適配器所需的記憶體或I/O位址空間。

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

語法

NDIS_STATUS NdisMQueryProbedBars(
  [in]  NDIS_HANDLE NdisMiniportHandle,
  [out] PULONG      BaseRegisterValues
);

參數

[in] NdisMiniportHandle

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

[out] BaseRegisterValues

ULONG 值陣列的指標。 數位包含 PCIe 網路適配器每個 BAR 的 ULONG 值。

注意NdisMQueryProbedBars 會在此陣列內傳回最多PCI_TYPE0_ADDRESSES值。
 

傳回值

NdisMQueryProbedBars 可以傳回下列其中一個狀態值。

傳回碼 Description
NDIS_STATUS_SUCCESS
查詢作業已順利完成。
NDIS_STATUS_FAILURE
查詢作業失敗。

備註

在 Hyper-V 父磁碟分區的管理作業系統中執行的 PCI 總線驅動程式會查詢網路適配器的每個 PCI 基地址快存器 (BAR) 的記憶體或 I/O 位址空間需求。 PCI 總線驅動程式會在第一次偵測總線上的配接器時執行此查詢。

透過此 PCI BAR 查詢,PCI 總線驅動程式會決定下列各項:

  • 網路適配器是否支援PCI BAR。
  • 如果支援 BAR,則 BAR 需要多少記憶體或 I/O 位址空間。
虛擬PCI () 總線驅動程式會在 Hyper-V 子分割的客體作業系統中執行。 當PCI Express (PCIe) Virtual Function (VF) 附加至子分割區時,則) VF (VF 網路適配器的 VF 總線驅動程式將會公開虛擬網路適配器。 在這樣做之前,DHCPI 總線驅動程式必須執行PCI BAR查詢,以判斷VF網路配接器所需的記憶體或地址空間。

由於PCI設定空間的存取權是特殊許可權的作業,因此只能由在 Hyper-V 父分割區之管理作業系統中執行的元件執行。 當 JSONI 總線驅動程式查詢 PCI BAR 時,NDIS 會向 PF 迷你埠驅動程式發出物件標識碼 (OID) 查詢 OID_SRIOV_PROBED_BARS 要求。 此 OID 查詢要求所傳回的結果會轉送至 DHCPI 總線驅動程式,以便判斷 VF 網路適配器需要多少記憶體位址空間。

在處理此 OID 要求期間,驅動程式可以呼叫 NdisMQueryProbedBars ,以取得 PCI 驅動程式所執行之 BAR 查詢所傳回的值。

如需如何查詢 VF PCI BAR 快取器的詳細資訊,請參閱 查詢虛擬函式的 PCI 基地址快取器

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

與虛擬總線驅動程序互動

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

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

規格需求

需求
最低支援的用戶端 NDIS 6.30 和更新版本支援。
目標平台 Universal
標頭 ndis.h (包含 Ndis.h)
程式庫 Ndis.lib
IRQL PASSIVE_LEVEL

另請參閱

GUID_PCI_VIRTUALIZATION_INTERFACE

GetVirtualFunctionProbedBars

OID_SRIOV_PROBED_BARS