共用方式為


GET_VIRTUAL_DEVICE_RESOURCES回呼函式 (wdm.h)

GetResources 例程會傳回 PCI Express (PCIe) 實體函式 (PF) 所需的資源,才能在支援單一根 I/O 虛擬化的裝置上啟用虛擬化, (SR-IOV) 介面。

語法

GET_VIRTUAL_DEVICE_RESOURCES GetVirtualDeviceResources;

void GetVirtualDeviceResources(
  [in, out] PVOID Context,
  [out]     PUINT8 CapturedBusNumbers
)
{...}

參數

[in, out] Context

介面特定內容資訊的指標。 呼叫端會傳遞作為介面之PCI_VIRTUALIZATION_INTERFACE結構之Context成員傳遞的值。

[out] CapturedBusNumbers

呼叫端提供的變數指標,此例程會傳回 UINT8 值。 這個值會指定已擷取以供裝置 SR-IOV PF 使用的PCIe總線數目。

傳回值

備註

PCIe 裝置通常會在單一PCI總線上取用資源。 PCI 驅動程式會將總線號碼寫入上游網橋埠中的次要匯流號碼快存器和次級總線號碼快存器,將裝置指派給PCI總線。 此埠是PCIe根埠或PCIe交換器埠內的PCI對PCI網橋。

支援SR-IOV介面的裝置可能會建立比裝置連線所在PCI總線更多的虛擬功能。 在這些情況下,上游網橋埠必須設定為擷取一或多個未使用的PCI總線。 這可藉由將較大的值寫入埠的次級總線號碼緩存器來完成。

如果至少有下列其中一項成立,支援 SR-IOV 介面的裝置必須擷取 PCI 總線:

  • 裝置 (PFs 和 VFs) 有超過八個功能,且裝置不支援 PCI Express 3.0 規格的替代路由解譯 (ARI) 選項。

  • 裝置支援 ARI,且具有八個以上的功能,但上游網橋埠不支援 ARI。

  • 裝置支援 ARI,且具有 256 個以上的功能,而上游網橋埠則支援 ARI。

不論 ARI 支援為何,每個擷取的總線都可以支援 256 個函式。

如果裝置需要更多PCIe要求者標識碼 (RID) 才能啟用其所有VM,PCI 總線驅動程式會執行下列動作:

  1. 將裝置的總線號碼寫入PCIe次要總線號碼緩存器。

  2. 將大於裝置總線號碼的值寫入PCIe次級總線號碼緩存器。

這兩個緩存器值之間的差異代表擷取的總線號碼數目。

GetResources 例程是由 GUID_PCI_VIRTUALIZATION_INTERFACE 介面所提供。

規格需求

需求
最低支援的用戶端 Windows Server 2012 和更新版本的 Windows 支援。
目標平台 桌面
標頭 wdm.h (包含 Wdm.h)
IRQL PASSIVE_LEVEL

另請參閱

PCI_VIRTUALIZATION_INTERFACE