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


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

См. также

GUID_BUS_INTERFACE_STANDARD

interfaceDereference

InterfaceReference

IRP_MN_QUERY_INTERFACE