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:

  1. Schreibt die Busnummer des Geräts in das PcIe Secondary Bus Number Register.

  2. 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

Weitere Informationen

PCI_VIRTUALIZATION_INTERFACE