структура PCI_VIRTUALIZATION_INTERFACE (wdm.h)
Структура PCI_VIRTUALIZATION_INTERFACE позволяет драйверам управлять пространством конфигурации PCI Express (PCIe) для виртуальной функции (VF). Виртуальные машины предоставляются на шине PCI устройствами, поддерживающими единый корневой интерфейс виртуализации ввода-вывода (SR-IOV).
Эта структура описывает интерфейс GUID_PCI_VIRTUALIZATION_INTERFACE.
Синтаксис
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;
Члены
Size
Размер этой структуры в байтах.
Version
Версия интерфейса, определяемая драйвером.
Context
Указатель на сведения о контексте для интерфейса.
InterfaceReference
Указатель на подпрограмму InterfaceReference, которая увеличивает число ссылок интерфейса.
InterfaceDereference
Указатель на подпрограмму interfaceDereference , которая уменьшает количество ссылок интерфейса.
SetVirtualFunctionData
Указатель на подпрограмму SetVirtualFunctionData, которая записывает данные в пространство конфигурации PCIe виртуальной машины SR-IOV устройства.
GetVirtualFunctionData
Указатель на подпрограмму GetVirtualFunctionData , которая считывает данные из пространства конфигурации PCIe виртуальной машины SR-IOV устройства.
GetLocation
Указатель на подпрограмму GetLocation GetLocation, которая предоставляет сведения о текущем расположении устройства VF в иерархии PCIe. Эта информация необходима для системы виртуализации, которая использует единицу управления памятью ввода-вывода (IOMMU) для маршрутизации трафика в устройство или с устройства.
GetResources
Указатель на подпрограмму GetResourcesGetResources, которая предоставляет сведения о ресурсах, доступных для виртуализации на устройстве SR-IOV.
EnableVirtualization
Указатель на подпрограмму enableVirtualizationEnableVirtualization, которая включает или отключает виртуализацию на устройстве SR-IOV.
GetVirtualFunctionProbedBars
Указатель на процедуру GetVirtualFunctionProbedBars, которая позволяет не привилегированным Hyper-V виртуальной машине определить, что будет считываться из базовых регистров адресов PCIe (BAR) VF после запроса драйвером шины PCI. Драйвер PCI выполняет этот запрос, чтобы определить адресное пространство памяти или ввода-вывода, которое требует устройство.
Замечания
Для устройств, поддерживающих интерфейс SR-IOV, драйверы иногда должны получать доступ к пространству конфигурации PCIe виртуальных машин устройства и управлять ими. Драйверы вызывают подпрограммы из интерфейса GUID_PCI_VIRTUALIZATION_INTERFACE для доступа к пространству конфигурации PCIe виртуальных машин на устройстве.
Так как виртуальные машины устройства не отображаются как полные устройства PCIe на шине PCI, интерфейс GUID_BUS_INTERFACE_STANDARD нельзя использовать для управления VF.
Структура PCI_VIRTUALIZATION_INTERFACE — это расширение структуры интерфейса .
Драйвер получает указатель на структуру PCI_VIRTUALIZATION_INTERFACE путем отправки пакета запросов IRP_MN_QUERY_INTERFACE ввода-вывода (IRP) на драйвер шины с InterfaceType для GUID_PCI_VIRTUALIZATION_INTERFACE.
Требования
Требование | Ценность |
---|---|
минимальный поддерживаемый сервер | Windows Server 2012 |
заголовка | wdm.h (include Wdm.h) |