Condividi tramite


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)

Vedere anche

GUID_BUS_INTERFACE_STANDARD

InterfaceDereference

InterfaceReference

IRP_MN_QUERY_INTERFACE