GET_VIRTUAL_DEVICE_RESOURCES Rückruffunktion (wdm.h)
Die GetResources-Routine gibt die Ressourcen zurück, die die PHYSISCHE FUNKTION (PIe) von PCI Express (PCIe) benötigt, um die Virtualisierung auf einem Gerät zu ermöglichen, das die Single-Root-E/A-Virtualisierungsschnittstelle (SR-IOV) unterstützt.
Syntax
GET_VIRTUAL_DEVICE_RESOURCES GetVirtualDeviceResources;
void GetVirtualDeviceResources(
[in, out] PVOID Context,
[out] PUINT8 CapturedBusNumbers
)
{...}
Parameter
[in, out] Context
Ein Zeiger auf schnittstellenspezifische Kontextinformationen. Der Aufrufer übergibt den Wert, der als Kontextelement der PCI_VIRTUALIZATION_INTERFACE-Struktur für die Schnittstelle übergeben wird.
[out] CapturedBusNumbers
Ein Zeiger auf eine vom Aufrufer bereitgestellte Variable, in der diese Routine einen UINT8-Wert zurückgibt. Dieser Wert gibt die Anzahl der PCIe-Busse an, die für die Verwendung durch die SR-IOV-PF des Geräts erfasst wurden.
Rückgabewert
Keine
Bemerkungen
Ein PCIe-Gerät verbraucht in der Regel Ressourcen auf einem einzelnen PCI-Bus. Der PCI-Treiber weist ein Gerät einem PCI-Bus zu, indem er die Busnummer in das Register sekundärer Busnummern und untergeordnete Busnummern im Upstream Bridgeport schreibt. Dieser Port ist eine PCI-zu-PCI-Brücke innerhalb eines PCIe-Stammports oder eines PCIe-Switchports.
Ein Gerät, das die SR-IOV-Schnittstelle unterstützt, erstellt möglicherweise mehr virtuelle Funktionen als auf dem PCI-Bus, an dem das Gerät angeschlossen ist. In diesen Situationen muss der Upstream-Bridgeport so konfiguriert werden, dass ein oder mehrere nicht verwendete PCI-Busse erfasst werden. Dazu wird ein größerer Wert in das Register "Untergeordnete Busnummer" des Ports geschrieben.
Ein Gerät, das die SR-IOV-Schnittstelle unterstützt, muss PCI-Busse erfassen, wenn mindestens einer der folgenden Punkte zutrifft:
Das Gerät verfügt über mehr als acht Gesamtfunktionen (PFs und VFs), und das Gerät unterstützt nicht die ALTERNATIVE Routinginterpretation (ARI) der PCI Express 3.0-Spezifikation.
Das Gerät unterstützt ARI und verfügt über insgesamt mehr als acht Funktionen, aber der Upstream Bridgeport unterstützt ARI nicht.
Das Gerät unterstützt ARI und verfügt über mehr als 256 Funktionen, und der Upstream Bridgeport unterstützt ARI.
Unabhängig von der ARI-Unterstützung kann jeder erfasste Bus 256 Funktionen unterstützen.
Wenn das Gerät mehr PCIe Requestor-IDs (RIDs) benötigt, um alle zugehörigen VFs zu aktivieren, führt der PCI-Bustreiber folgende Schritte aus:
Schreibt die Busnummer des Geräts in das PcIe Secondary Bus Number Register.
Schreibt einen Wert, der größer als die Busnummer des Geräts ist, in das PcIe-Register "Untergeordnete Busnummer".
Der Unterschied zwischen diesen beiden Registerwerten stellt die Anzahl der erfassten Busnummern dar.
Die GetResources-Routine wird von der GUID_PCI_VIRTUALIZATION_INTERFACE-Schnittstelle bereitgestellt.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in Windows Server 2012 und höheren Versionen von Windows. |
Zielplattform | Desktop |
Kopfzeile | wdm.h (einschließen von Wdm.h) |
IRQL | PASSIVE_LEVEL |