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) |