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) |