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) |