Partager via


structure PCI_VIRTUALIZATION_INTERFACE (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 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 InterfaceReference routine qui incrémente le nombre de références de l’interface.

InterfaceDereference

Pointeur vers une InterfaceDereference routine 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 d’une machine virtuelle d’un appareil SR-IOV.

GetVirtualFunctionData

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

GetLocation

Pointeur vers une routine GetLocation qui fournit des informations sur l’emplacement actuel d’un appareil virtuel dans la hiérarchie PCIe. Ces informations sont nécessaires pour un système de virtualisation qui utilise une unité de gestion de mémoire d’E/S (IOMMU) pour acheminer 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 non privilégiée de déterminer ce qui serait lu à partir des registres d’adresses de base PCIe d’un VF après une requête par le pilote de bus PCI. Le pilote PCI effectue cette requête pour déterminer l’espace d’adressage de mémoire ou d’E/S requis par l’appareil.

Remarques

Pour les appareils qui prennent en charge l’interface SR-IOV, les pilotes doivent parfois accéder et gérer l’espace de configuration PCIe des machines virtuelles de l’appareil. 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’une machine virtuelle.

La structure PCI_VIRTUALIZATION_INTERFACE est une extension de la structureinterface.

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

Exigences

Exigence Valeur
serveur minimum pris en charge Windows Server 2012
d’en-tête wdm.h (include Wdm.h)

Voir aussi

GUID_BUS_INTERFACE_STANDARD

InterfaceDereference

interfaceReference

IRP_MN_QUERY_INTERFACE