struttura PCI_VIRTUALIZATION_INTERFACE (wdm.h)
La struttura PCI_VIRTUALIZATION_INTERFACE consente ai driver di gestire e configurare lo spazio di configurazione PCI Express (PCIe) per una funzione virtuale (VF). Le VFS vengono esposte nel bus PCI dai dispositivi che supportano l'interfaccia SR-IOV (Single Root I/O Virtualization).
Questa struttura descrive l'interfaccia GUID_PCI_VIRTUALIZATION_INTERFACE .
Sintassi
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;
Members
Size
Dimensione, in byte, della struttura.
Version
Versione dell'interfaccia definita dal driver.
Context
Puntatore a informazioni di contesto specifiche dell'interfaccia.
InterfaceReference
Puntatore a una routine InterfaceReference che incrementa il conteggio dei riferimenti dell'interfaccia.
InterfaceDereference
Puntatore a una routine InterfaceDereference che decrementa il conteggio dei riferimenti dell'interfaccia.
SetVirtualFunctionData
Puntatore a una routine SetVirtualFunctionData che scrive i dati nello spazio di configurazione PCIe di un dispositivo SR-IOV VF.
GetVirtualFunctionData
Puntatore a una routine GetVirtualFunctionData che legge i dati dallo spazio di configurazione PCIe di un dispositivo SR-IOV VF.
GetLocation
Puntatore a una routine GetLocation che fornisce informazioni sulla posizione corrente del dispositivo di un VF nella gerarchia PCIe. Queste informazioni sono necessarie per un sistema di virtualizzazione che usa un'unità di gestione della memoria I/O (IOMMU) per instradare il traffico verso o dal dispositivo.
GetResources
Puntatore a una routine GetResources che fornisce informazioni sulle risorse disponibili per la virtualizzazione in un dispositivo SR-IOV.
EnableVirtualization
Puntatore a una routine EnableVirtualization che abilita o disabilita la virtualizzazione in un dispositivo SR-IOV.
GetVirtualFunctionProbedBars
Puntatore a una routine GetVirtualFunctionProbedBars che consente a una macchina virtuale Hyper-V (VM) senza privilegi di determinare cosa sarebbe stato letto dai registri indirizzi di base PCIe di un VF dopo una query da parte del driver del bus PCI. Il driver PCI esegue questa query per determinare lo spazio di indirizzi di memoria o I/O richiesto dal dispositivo.
Commenti
Per i dispositivi che supportano l'interfaccia SR-IOV, i driver devono occasionalmente accedere e gestire lo spazio di configurazione PCIe delle macchine virtuali del dispositivo. I driver chiamano routine dall'interfaccia GUID_PCI_VIRTUALIZATION_INTERFACE per accedere allo spazio di configurazione PCIe delle macchine virtuali nel dispositivo.
Poiché le VFS di un dispositivo non vengono visualizzate come dispositivi PCIe completi nel bus PCI, l'interfaccia GUID_BUS_INTERFACE_STANDARD non può essere usata per la gestione di un VF.
La struttura PCI_VIRTUALIZATION_INTERFACE è un'estensione della struttura INTERFACE .
Un driver ottiene un puntatore alla struttura PCI_VIRTUALIZATION_INTERFACE inviando un pacchetto di richiesta I/O IRP_MN_QUERY_INTERFACE al driver del bus con InterfaceType impostato su GUID_PCI_VIRTUALIZATION_INTERFACE.
Requisiti
Requisito | Valore |
---|---|
Server minimo supportato | Windows Server 2012 |
Intestazione | wdm.h (include Wdm.h) |