PCI_VIRTUALIZATION_INTERFACE structure (wdm.h)

La structure PCI_VIRTUALIZATION_INTERFACE permet aux pilotes de gérer et de configurer l’espace de configuration PCI Express (PCIe) pour une fonction virtuelle (VF). Les machines virtuelles sont exposées sur le bus PCI par les appareils qui prennent en charge l’interface de virtualisation d’E/S racine unique (SR-IOV).

Cette structure décrit l’interface GUID_PCI_VIRTUALIZATION_INTERFACE .

Syntaxe

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;

Membres

Size

Taille, en octets, de cette structure.

Version

Version de l’interface définie par le pilote.

Context

Pointeur vers des informations de contexte spécifiques à l’interface.

InterfaceReference

Pointeur vers une routine InterfaceReference qui incrémente le nombre de références de l’interface.

InterfaceDereference

Pointeur vers une routine InterfaceDereference qui décrémente le nombre de références de l’interface.

SetVirtualFunctionData

Pointeur vers une routine SetVirtualFunctionData qui écrit des données dans l’espace de configuration PCIe de la VF d’un appareil SR-IOV.

GetVirtualFunctionData

Pointeur vers une routine GetVirtualFunctionData qui lit les données de l’espace de configuration PCIe de la VF d’un appareil SR-IOV.

GetLocation

Pointeur vers une routine GetLocation qui fournit des informations sur l’emplacement actuel d’un appareil VF dans la hiérarchie PCIe. Ces informations sont nécessaires pour qu’un système de virtualisation qui utilise une unité de gestion de la mémoire d’E/S (IOMMU) achemine le trafic vers ou depuis l’appareil.

GetResources

Pointeur vers une routine GetResources qui fournit des informations sur les ressources disponibles pour la virtualisation sur un appareil SR-IOV.

EnableVirtualization

Pointeur vers une routine EnableVirtualization qui active ou désactive la virtualisation sur un appareil SR-IOV.

GetVirtualFunctionProbedBars

Pointeur vers une routine GetVirtualFunctionProbedBars qui permet à une machine virtuelle Hyper-V sans privilèges de déterminer ce qui serait lu à partir des registres d’adresses de base (BAR) PCIe d’une machine virtuelle après une requête par le pilote de bus PCI. Le pilote PCI effectue cette requête pour déterminer la mémoire ou l’espace d’adressage d’E/S dont l’appareil a besoin.

Remarques

Pour les appareils qui prennent en charge l’interface SR-IOV, les pilotes doivent parfois accéder à l’espace de configuration PCIe des machines virtuelles de l’appareil et les gérer. Les pilotes appellent des routines à partir de l’interface GUID_PCI_VIRTUALIZATION_INTERFACE pour accéder à l’espace de configuration PCIe des machines virtuelles sur l’appareil.

Étant donné que les machines virtuelles d’un appareil n’apparaissent pas comme des appareils PCIe complets sur le bus PCI, l’interface GUID_BUS_INTERFACE_STANDARD ne peut pas être utilisée pour la gestion d’un VF.

La structure PCI_VIRTUALIZATION_INTERFACE est une extension de la structure INTERFACE .

Un pilote obtient un pointeur vers la structure PCI_VIRTUALIZATION_INTERFACE en envoyant un paquet de requête d’E /S (IRP) IRP_MN_QUERY_INTERFACE à son pilote de bus avec InterfaceType défini sur GUID_PCI_VIRTUALIZATION_INTERFACE.

Configuration requise

Condition requise Valeur
Serveur minimal pris en charge Windows Server 2012
En-tête wdm.h (include Wdm.h)

Voir aussi

GUID_BUS_INTERFACE_STANDARD

InterfaceDereference

InterfaceReference

IRP_MN_QUERY_INTERFACE