PCI_VIRTUALIZATION_INTERFACE-Struktur (wdm.h)
Die PCI_VIRTUALIZATION_INTERFACE-Struktur ermöglicht Es Treibern, den PCI Express -Konfigurationsraum (PCIe) für eine virtuelle Funktion (VF) zu verwalten und zu konfigurieren. VFs werden auf dem PCI-Bus von Geräten verfügbar gemacht, die die SR-IOV-Schnittstelle (Single Root E/O Virtualization) 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;
Member
Size
Die Größe (in Bytes) dieser Struktur.
Version
Die vom Treiber definierte 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 erhöht.
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-Konfigurationsraum 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 E/A-Speicherverwaltungseinheit (IOMMU) verwendet, um 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 die Virtualisierung auf einem SR-IOV-Gerät aktiviert oder deaktiviert.
GetVirtualFunctionProbedBars
Ein Zeiger auf eine GetVirtualFunctionProbedBars-Routine , mit der ein nicht privilegierter virtueller Hyper-V-Computer (VM) bestimmen kann, was aus den PCIe-Basisadressregistern (BARs) einer VF nach einer Abfrage durch den PCI-Bustreiber gelesen wird. Der PCI-Treiber führt diese Abfrage aus, um den Speicher- oder E/A-Adressraum zu ermitteln, den das Gerät benötigt.
Hinweise
Bei Geräten, die die SR-IOV-Schnittstelle unterstützen, müssen Treiber gelegentlich auf den PCIe-Konfigurationsraum der VFs des Geräts zugreifen und diesen 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 er ein IRP_MN_QUERY_INTERFACE E/A-Anforderungspaket (IRP) an seinen Bustreiber sendet, wobei InterfaceType auf GUID_PCI_VIRTUALIZATION_INTERFACE festgelegt ist.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Server) | Windows Server 2012 |
Kopfzeile | wdm.h (einschließen von Wdm.h) |