Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um driver de miniporto chama a função NdisMEnableVirtualization durante a criação ou exclusão de um comutador NIC no adaptador de rede. Ao chamar essa função, o driver configura a estrutura de funcionalidade estendida de E/S raiz única (SR-IOV) no espaço de configuração do PCI Express (PCIe) para a Função Física (PF) do adaptador de rede.
Sintaxe
NDIS_STATUS NdisMEnableVirtualization(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] USHORT NumVFs,
[in] BOOLEAN EnableVFMigration,
[in] BOOLEAN EnableMigrationInterrupt,
[in] BOOLEAN EnableVirtualization
);
Parâmetros
[in] NdisMiniportHandle
O identificador do adaptador de rede que o NDIS passou para o parâmetro MiniportAdapterHandle de MiniportInitializeEx.
[in] NumVFs
Um valor USHORT que contém o número de VFs (Funções Virtuais) que devem ser habilitadas para o adaptador de rede. NdisMEnableVirtualization define o membro NumVFs da estrutura SR-IOV Capacidade Estendida para o valor do parâmetro numVFs.
[in] EnableVFMigration
Esse parâmetro é reservado para NDIS e deve ser definido como FALSE.
[in] EnableMigrationInterrupt
Esse parâmetro é reservado para NDIS e deve ser definido como FALSE.
[in] EnableVirtualization
Um valor BOOLEAN que especifica se a virtualização deve ser habilitada no espaço de configuração de PCI do adaptador de rede. Se EnableVirtualization for TRUE, NdisMEnableVirtualization definirá o VF Enable bit do membro do Controle de SR-IOV. NdisMEnableVirtualization limpará esse bit se EnableVirtualization for FALSE.
Valor de retorno
NdisMEnableVirtualization pode retornar um dos seguintes valores de status.
Código de retorno | Descrição |
---|---|
|
A operação de virtualização foi concluída com êxito. |
|
O adaptador ou sistema não dá suporte a SR-IOV. |
|
O parâmetro EnableVirtualization é definido como FALSE e o parâmetro numVFs é definido como um valor diferente de zero. |
|
Falha na operação de virtualização.
Observação a função NdisMEnableVirtualization falhará se for chamada para habilitar a virtualização quando a virtualização já estiver habilitada. O driver deve primeiro desabilitar a virtualização (chamando a função com o parâmetro EnableVirtualization definido como FALSE) antes que o driver possa reabilitar a virtualização.
|
Observações
Os drivers de miniporto PF chamam NdisMEnableVirtualization para configurar os campos SR-IOV Capacidade Estendida no espaço de configuração de PCI. Essa chamada é usada para habilitar ou desabilitar a virtualização no espaço de configuração e também para especificar o número de VFs que devem ser expostos à malha PCIe pelo adaptador de rede.
Quando o driver de miniporto PF manipula uma solicitação de método OID de OID_NIC_SWITCH_CREATE_SWITCH, o driver chama NdisMEnableVirtualization para habilitar a virtualização no adaptador de rede para o comutador NIC. O driver faz isso chamando NdisMEnableVirtualization com as seguintes configurações de parâmetro.
Prazo | Descrição |
---|---|
numVFs | Defina como o número de VFs a serem habilitados para a opção NIC. |
EnableVirtualization | Defina como TRUE. |
Quando o driver de miniporto PF manipula uma solicitação de método OID de OID_NIC_SWITCH_DELETE_SWITCH, o driver chama NdisMEnableVirtualization para desabilitar a virtualização no adaptador de rede. O driver faz isso chamando NdisMEnableVirtualization com as seguintes configurações de parâmetro:
Prazo | Descrição |
---|---|
numVFs | Definido como zero. |
EnableVirtualization | Defina como FALSE. |
Para obter mais informações sobre como criar um comutador NIC, consulte Criando um comutador NIC.
Para obter mais informações sobre a interface SR-IOV, consulte Visão geral da virtualização de E/S de Raiz Única (SR-IOV).
interfiguração para um motorista de ônibus virtual
Se um fornecedor de hardware independente (IHV) fornecer um VBD (driver de ônibus virtual) como parte de seu pacote de driver SR-IOV , seu driver de miniporto não deverá chamar NdisMEnableVirtualization. Em vez disso, o driver deve fazer interface com o VBD por meio de um canal de comunicação privado e solicitar que a chamada do VBD EnableVirtualization. Essa função é fornecida pela interface GUID_PCI_VIRTUALIZATION_INTERFACE compatível com o driver de ônibus PCI subjacente.O VBD executado no sistema operacional de gerenciamento da partição pai Hyper-V pode consultar a interface GUID_PCI_VIRTUALIZATION_INTERFACE emitindo uma solicitação IRP_MN_QUERY_INTERFACE para seu objeto de dispositivo físico (PDO) no barramento PCI. Essa solicitação deve ser feita de IRQL = PASSIVE_LEVEL. Nesta solicitação, o driver deve definir o parâmetro InterfaceType como GUID_PCI_VIRTUALIZATION_INTERFACE.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Com suporte no NDIS 6.30 e posterior. |
da Plataforma de Destino | Universal |
cabeçalho | ndis.h (inclua Ndis.h) |
biblioteca | Ndis.lib |
IRQL | PASSIVE_LEVEL |
Consulte também