Compartilhar via


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). Os VFs são expostos no barramento PCI por dispositivos que dão suporte à interface de virtualização de E/S raiz única (SR-IOV).

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 um InterfaceReference rotina que incrementa a contagem de referência da interface.

InterfaceDereference

Um ponteiro para um InterfaceDereference rotina que diminui a contagem de referências da interface.

SetVirtualFunctionData

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

GetVirtualFunctionData

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

GetLocation

Um ponteiro para uma rotina GetLocation que fornece informações sobre o local atual do dispositivo de uma 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 degetResourcesque fornece informações sobre os recursos disponíveis para virtualização em um dispositivo SR-IOV.

EnableVirtualization

Um ponteiro para uma rotinaEnableVirtualizationque 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) Hyper-V sem privilégios determine o que seria lido dos BARs (Registros de Endereços Base do PCIe) de uma VF após uma consulta feita pelo motorista do ônibus 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.

Observações

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

Como os 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 deda 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 ônibus com InterfaceType definido como GUID_PCI_VIRTUALIZATION_INTERFACE.

Requisitos

Requisito Valor
servidor com suporte mínimo Windows Server 2012
cabeçalho wdm.h (inclua Wdm.h)

Consulte também

GUID_BUS_INTERFACE_STANDARD

InterfaceDereference

InterfaceReference

IRP_MN_QUERY_INTERFACE