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 和 VF),裝置不支援PCI Express 3.0 規格的替代路由解譯 (ARI) 選項。
裝置支援 ARI,且具有八個以上的功能,但上游網橋埠不支援 ARI。
裝置支援 ARI,且具有 256 個以上的功能,而上游網橋埠則支援 ARI。
不論 ARI 支援為何,每個擷取的總線都可以支援 256 個函式。
如果裝置需要更多PCIe要求者識別碼(RID)才能啟用其所有VF,PCI 總線驅動程式會執行下列動作:
將裝置的總線號碼寫入PCIe次要總線號碼緩存器。
將大於裝置總線號碼的值寫入PCIe次級總線號碼緩存器。
這兩個緩存器值之間的差異代表擷取的總線號碼數目。
GUID_PCI_VIRTUALIZATION_INTERFACE 介面會提供 GetResources 例程。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Server 2012 和更新版本的 Windows 支援。 |
目標平臺 | 桌面 |
標頭 | wdm.h (包括 Wdm.h) |
IRQL | PASSIVE_LEVEL |