estrutura PCI_VIRTUALIZATION_INTERFACE (wdm.h)

A estrutura PCI_VIRTUALIZATION_INTERFACE permite que os drivers gerenciem e configurem o espaço de configuração do PCI Express (PCIe) para uma VF (função virtual). As VFs são expostas no barramento PCI por dispositivos que dão suporte à interface SR-IOV (virtualização de E/S de raiz única).

Essa estrutura descreve a interface GUID_PCI_VIRTUALIZATION_INTERFACE .

Sintaxe

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;

Membros

Size

O tamanho, em bytes, dessa estrutura.

Version

A versão da interface definida pelo driver.

Context

Um ponteiro para informações de contexto específicas da interface.

InterfaceReference

Um ponteiro para uma rotina InterfaceReference que incrementa a contagem de referência da interface.

InterfaceDereference

Um ponteiro para uma rotina InterfaceDereference que diminui a contagem de referência da interface.

SetVirtualFunctionData

Um ponteiro para uma rotina SetVirtualFunctionData que grava dados no espaço de configuração PCIe do VF de um dispositivo SR-IOV.

GetVirtualFunctionData

Um ponteiro para uma rotina GetVirtualFunctionData que lê dados do espaço de configuração PCIe do VF de um dispositivo SR-IOV.

GetLocation

Um ponteiro para uma rotina GetLocation que fornece informações sobre o local atual do dispositivo de um VF na hierarquia PCIe. Essas informações são necessárias para um sistema de virtualização que está usando uma IOMMU (unidade de gerenciamento de memória de E/S) para rotear o tráfego de ou para o dispositivo.

GetResources

Um ponteiro para uma rotina GetResources que fornece informações sobre os recursos disponíveis para virtualização em um dispositivo SR-IOV.

EnableVirtualization

Um ponteiro para uma rotina EnableVirtualization que habilita ou desabilita a virtualização em um dispositivo SR-IOV.

GetVirtualFunctionProbedBars

Um ponteiro para uma rotina GetVirtualFunctionProbedBars que permite que uma VM (máquina virtual) do Hyper-V sem privilégios determine o que seria lido dos BARs (Registros de Endereços Base) da PCIe de uma VF após uma consulta pelo driver de barramento PCI. O driver PCI executa essa consulta para determinar a memória ou o espaço de endereço de E/S necessário para o dispositivo.

Comentários

Para dispositivos que dão suporte à interface SR-IOV, os drivers ocasionalmente precisam acessar e gerenciar o espaço de configuração PCIe das VFs do dispositivo. Os drivers chamam rotinas da interface GUID_PCI_VIRTUALIZATION_INTERFACE para acessar o espaço de configuração PCIe das VFs no dispositivo.

Como as VFs de um dispositivo não aparecem como dispositivos PCIe completos no barramento PCI, a interface GUID_BUS_INTERFACE_STANDARD não pode ser usada para o gerenciamento de uma VF.

A estrutura PCI_VIRTUALIZATION_INTERFACE é uma extensão da estrutura INTERFACE .

Um driver obtém um ponteiro para a estrutura de PCI_VIRTUALIZATION_INTERFACE enviando um IRP (pacote de solicitação de E/S) de IRP_MN_QUERY_INTERFACE para seu driver de barramento com InterfaceType definido como GUID_PCI_VIRTUALIZATION_INTERFACE.

Requisitos

Requisito Valor
Servidor mínimo com suporte Windows Server 2012
Cabeçalho wdm.h (include Wdm.h)

Confira também

GUID_BUS_INTERFACE_STANDARD

InterfaceDereference

InterfaceReference

IRP_MN_QUERY_INTERFACE