estructura PCI_VIRTUALIZATION_INTERFACE (wdm.h)
La estructura de PCI_VIRTUALIZATION_INTERFACE permite a los controladores administrar y configurar el espacio de configuración de PCI Express (PCIe) para una función virtual (VF). Las máquinas virtuales se exponen en el bus PCI mediante dispositivos que admiten la interfaz de virtualización de E/S raíz única (SR-IOV).
Esta estructura describe la interfaz GUID_PCI_VIRTUALIZATION_INTERFACE.
Sintaxis
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;
Miembros
Size
Tamaño, en bytes, de esta estructura.
Version
Versión de la interfaz definida por el controlador.
Context
Puntero a información de contexto específica de la interfaz.
InterfaceReference
Puntero a un InterfaceReference rutina que incrementa el recuento de referencias de la interfaz.
InterfaceDereference
Puntero a una InterfaceDereference rutina que disminuye el recuento de referencias de la interfaz.
SetVirtualFunctionData
Puntero a un SetVirtualFunctionData rutina que escribe datos en el espacio de configuración PCIe de un VF de SR-IOV dispositivo.
GetVirtualFunctionData
Puntero a una rutina de GetVirtualFunctionData que lee los datos del espacio de configuración PCIe de un VF del dispositivo SR-IOV.
GetLocation
Puntero a una rutina getLocation que proporciona información sobre la ubicación actual del dispositivo de una VF en la jerarquía de PCIe. Esta información es necesaria para un sistema de virtualización que usa una unidad de administración de memoria de E/S (IOMMU) para enrutar el tráfico hacia o desde el dispositivo.
GetResources
Puntero a una rutina de GetResources que proporciona información sobre los recursos disponibles para la virtualización en un dispositivo SR-IOV.
EnableVirtualization
Puntero a una rutina de EnableVirtualization que habilita o deshabilita la virtualización en un dispositivo SR-IOV.
GetVirtualFunctionProbedBars
Puntero a una rutina de GetVirtualFunctionProbedBars que permite que una máquina virtual (VM) Hyper-V no con privilegios determine lo que se leería en los registros de direcciones base (BAR) pcIe de un VF después de una consulta por parte del controlador de bus PCI. El controlador PCI realiza esta consulta para determinar el espacio de direcciones de E/S o memoria que requiere el dispositivo.
Observaciones
Para los dispositivos que admiten la interfaz de SR-IOV, los controladores ocasionalmente tienen que acceder y administrar el espacio de configuración PCIe de las máquinas virtuales del dispositivo. Los controladores llaman a rutinas desde la interfaz de GUID_PCI_VIRTUALIZATION_INTERFACE para acceder al espacio de configuración PCIe de las máquinas virtuales del dispositivo.
Dado que las máquinas virtuales de un dispositivo no aparecen como dispositivos PCIe completos en el bus PCI, la interfaz GUID_BUS_INTERFACE_STANDARD no se puede usar para la administración de un VF.
La estructura PCI_VIRTUALIZATION_INTERFACE es una extensión de la estructura INTERFACE.
Un controlador obtiene un puntero a la estructura de PCI_VIRTUALIZATION_INTERFACE enviando un paquete de solicitud de E/S (IRP) de IRP_MN_QUERY_INTERFACE a su controlador de bus con InterfaceType establecido en GUID_PCI_VIRTUALIZATION_INTERFACE.
Requisitos
Requisito | Valor |
---|---|
servidor mínimo admitido | Windows Server 2012 |
encabezado de | wdm.h (incluya Wdm.h) |