Freigeben über


PCI_VIRTUALIZATION_INTERFACE Struktur (wdm.h)

Mit der PCI_VIRTUALIZATION_INTERFACE Struktur können Treiber den PCI Express(PCIe)-Konfigurationsraum für eine virtuelle Funktion (VF) verwalten und konfigurieren. VFs werden auf dem PCI-Bus von Geräten verfügbar gemacht, die die einzelne Root-E/A-Virtualisierung (SR-IOV) -Schnittstelle unterstützen.

Diese Struktur beschreibt die GUID_PCI_VIRTUALIZATION_INTERFACE Schnittstelle.

Syntax

typedef struct _PCI_VIRTUALIZATION_INTERFACE {
  USHORT                            Size;
  USHORT                            Version;
  PVOID                             Context;
  PINTERFACE_REFERENCE              InterfaceReference;
  PINTERFACE_DEREFERENCE            InterfaceDereference;
  PSET_VIRTUAL_DEVICE_DATA          SetVirtualFunctionData;
  PGET_VIRTUAL_DEVICE_DATA          GetVirtualFunctionData;
  PGET_VIRTUAL_DEVICE_LOCATION      GetLocation;
  PGET_VIRTUAL_DEVICE_RESOURCES     GetResources;
  PENABLE_VIRTUALIZATION            EnableVirtualization;
  PGET_VIRTUAL_FUNCTION_PROBED_BARS GetVirtualFunctionProbedBars;
} PCI_VIRTUALIZATION_INTERFACE, *PPCI_VIRTUALIZATION_INTERFACE;

Angehörige

Size

Die Größe dieser Struktur in Byte.

Version

Die treiberdefinierte Schnittstellenversion.

Context

Ein Zeiger auf schnittstellenspezifische Kontextinformationen.

InterfaceReference

Ein Zeiger auf eine InterfaceReference Routine, die die Referenzanzahl der Schnittstelle erhöht.

InterfaceDereference

Ein Zeiger auf eine InterfaceDereference Routine, die die Referenzanzahl der Schnittstelle verringert.

SetVirtualFunctionData

Ein Zeiger auf eine SetVirtualFunctionData- Routine, die Daten in den PCIe-Konfigurationsraum des VF eines SR-IOV Geräts schreibt.

GetVirtualFunctionData

Ein Zeiger auf eine GetVirtualFunctionData Routine, die Daten aus dem PCIe-Konfigurationsbereich des VF eines SR-IOV Geräts liest.

GetLocation

Ein Zeiger auf eine GetLocation Routine, die Informationen zum aktuellen Gerätestandort eines VF in der PCIe-Hierarchie bereitstellt. Diese Informationen sind für ein Virtualisierungssystem erforderlich, das eine I/O-Speicherverwaltungseinheit (IOMMU) verwendet, um den Datenverkehr an oder vom Gerät weiterzuleiten.

GetResources

Ein Zeiger auf eine GetResources Routine, die Informationen zu den Ressourcen bereitstellt, die für die Virtualisierung auf einem SR-IOV-Gerät verfügbar sind.

EnableVirtualization

Ein Zeiger auf eine EnableVirtualization Routine, die virtualisierung auf einem SR-IOV Gerät aktiviert oder deaktiviert.

GetVirtualFunctionProbedBars

Ein Zeiger auf eine GetVirtualFunctionProbedBars Routine, die es einem nicht privilegierten Hyper-V virtuellen Computer (VM) ermöglicht, zu bestimmen, was aus den PCIe-Basisadressregistern (BARs) eines VF nach einer Abfrage des PCI-Bustreibers gelesen werden würde. Der PCI-Treiber führt diese Abfrage aus, um den vom Gerät benötigten Speicher- oder E/A-Adressraum zu ermitteln.

Bemerkungen

Für Geräte, die die SR-IOV Schnittstelle unterstützen, müssen Treiber gelegentlich auf den PCIe-Konfigurationsraum der VFs des Geräts zugreifen und diese verwalten. Treiber rufen Routinen über die GUID_PCI_VIRTUALIZATION_INTERFACE-Schnittstelle auf, um auf den PCIe-Konfigurationsraum der VFs auf dem Gerät zuzugreifen.

Da die VFs eines Geräts nicht als vollständige PCIe-Geräte auf dem PCI-Bus angezeigt werden, kann die GUID_BUS_INTERFACE_STANDARD Schnittstelle nicht für die Verwaltung eines VF verwendet werden.

Die PCI_VIRTUALIZATION_INTERFACE-Struktur ist eine Erweiterung der INTERFACE--Struktur.

Ein Treiber ruft einen Zeiger auf die PCI_VIRTUALIZATION_INTERFACE-Struktur ab, indem ein IRP_MN_QUERY_INTERFACE E/A-Anforderungspaket (IRP) an seinen Bustreiber gesendet wird, wobei InterfaceType auf GUID_PCI_VIRTUALIZATION_INTERFACE festgelegt ist.

Anforderungen

Anforderung Wert
mindestens unterstützte Server- Windows Server 2012
Header- wdm.h (include Wdm.h)

Siehe auch

GUID_BUS_INTERFACE_STANDARD

InterfaceDereference-

InterfaceReference-

IRP_MN_QUERY_INTERFACE