структура 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 VF устройства SR-IOV.
GetVirtualFunctionData
Указатель на подпрограмму GetVirtualFunctionData , которая считывает данные из пространства конфигурации PCIe VF устройства SR-IOV.
GetLocation
Указатель на подпрограмму GetLocation , которая предоставляет сведения о текущем расположении устройства VF в иерархии PCIe. Эти сведения необходимы системе виртуализации, которая использует модуль управления памятью ввода-вывода (IOMMU) для маршрутизации трафика на устройство или с устройства.
GetResources
Указатель на подпрограмму GetResources , которая предоставляет сведения о ресурсах, доступных для виртуализации на устройстве SR-IOV.
EnableVirtualization
Указатель на подпрограмму EnableVirtualization , которая включает или отключает виртуализацию на устройстве SR-IOV.
GetVirtualFunctionProbedBars
Указатель на подпрограмму GetVirtualFunctionProbedBars , которая позволяет виртуальной машине Hyper-V без привилегий определять, что будет считываться из базовых регистров адресов PCIe (BAR) виртуальной машины после запроса драйвера шины PCI. Драйвер PCI выполняет этот запрос, чтобы определить объем памяти или адресное пространство ввода-вывода, необходимые устройству.
Комментарии
Для устройств, поддерживающих интерфейс SR-IOV, драйверам иногда приходится получать доступ к пространству конфигурации PCIe виртуальных машин устройства и управлять им. Драйверы вызывают подпрограммы из интерфейса GUID_PCI_VIRTUALIZATION_INTERFACE для доступа к пространству конфигурации PCIe виртуальных машин на устройстве.
Так как виртуальные машины устройства не отображаются как полные устройства PCIe на шине PCI, интерфейс GUID_BUS_INTERFACE_STANDARD нельзя использовать для управления виртуальнымf.
Структура PCI_VIRTUALIZATION_INTERFACE является расширением структуры INTERFACE .
Драйвер получает указатель на структуру PCI_VIRTUALIZATION_INTERFACE , отправляя IRP_MN_QUERY_INTERFACE пакет запроса ввода-вывода (IRP) драйверу шины с параметром InterfaceType , для GUID_PCI_VIRTUALIZATION_INTERFACE.
Требования
Требование | Значение |
---|---|
Минимальная версия сервера | Windows Server 2012 |
Верхняя часть | wdm.h (включая Wdm.h) |