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 macchine virtuali vengono esposte nel bus PCI dai dispositivi che supportano l'interfaccia di virtualizzazione di I/O radice singola (SR-IOV).
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;
Membri
Size
Dimensione, in byte, di questa struttura.
Version
Versione dell'interfaccia definita dal driver.
Context
Puntatore a informazioni di contesto specifiche dell'interfaccia.
InterfaceReference
Puntatore a un InterfaceReference routine che incrementa il numero di riferimenti dell'interfaccia.
InterfaceDereference
Puntatore a un InterfaceDereference routine che decrementa il conteggio dei riferimenti dell'interfaccia.
SetVirtualFunctionData
Puntatore a un SetVirtualFunctionData routine che scrive i dati nello spazio di configurazione PCIe di un VF di un dispositivo SR-IOV.
GetVirtualFunctionData
Puntatore a un GetVirtualFunctionData routine che legge i dati dallo spazio di configurazione PCIe di un VF di un dispositivo SR-IOV.
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 di 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 un GetVirtualFunctionProbedBars routine che consente a una macchina virtuale (VM) di Hyper-V senza privilegi di determinare cosa verrebbe letto dai registri degli indirizzi di base PCIe di una funzione VF dopo una query eseguita dal driver del bus PCI. Il driver PCI esegue questa query per determinare lo spazio di indirizzi di memoria o I/O richiesto dal dispositivo.
Osservazioni
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 macchine virtuali 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.
Fabbisogno
Requisito | Valore |
---|---|
server minimo supportato | Windows Server 2012 |
intestazione | wdm.h (include Wdm.h) |