Поделиться через


структура 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)

См. также раздел

GUID_BUS_INTERFACE_STANDARD

InterfaceDereference

InterfaceReference

IRP_MN_QUERY_INTERFACE