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.
Este tópico descreve as diretrizes para escrever uma função MiniportInitializeEx do driver de miniporta para uma função virtual (VF) PCI Express (PCIe). A VF é exposta por um adaptador de rede que dá suporte à virtualização de E/S de raiz única (SR-IOV).
Observação
Essas diretrizes só se aplicam aos drivers de miniporta VF do adaptador de rede SR-IOV. Para obter diretrizes de inicialização para o driver de miniporta de uma função física PCIe (PF) do adaptador, consulte Inicializar um driver de miniporta PF.
O driver de miniporta VF segue as mesmas etapas que qualquer driver de miniporta NDIS quando sua função MiniportInitializeEx é chamada. Para obter mais informações sobre essas etapas, consulte Inicializar um driver de miniporta.
Além dessas etapas, o driver de miniporta VF deve seguir estas etapas adicionais quando o NDIS chama a função MiniportInitializeEx do driver:
O driver de miniporta VF chama a função NdisGetHypervisorInfo para verificar se ela está sendo executada na partição filho do Hyper-V. Esta função retorna uma estrutura NDIS_HYPERVISOR_INFO que define o tipo de partição. Se o tipo de partição for relatado como NdisHypervisorPartitionMsHvChild, o driver de miniporta está sendo executado em uma partição filho do Hyper-V conectada ao PF no adaptador.
Observação
Se o tipo de partição for relatado como NdisHypervisorPartitionMsHvParent, o driver de miniporta está sendo executado na partição pai do Hyper-V conectada ao PF no adaptador. Nesse caso, o driver de miniporta não deve ser inicializado como um driver VF. Se possível, o driver deve ser inicializado como um driver PF conforme descrito em Sequência de inicialização para drivers de miniporta PF.
Ao contrário do driver de miniporta PF, o driver de miniporta VF não deve ser instalado com as palavras-chave padronizadas SR-IOV e não deve tentar ler essas palavras-chave. Para obter mais informações sobre essas palavras-chave, consulte Palavras-chave INF padronizadas para SR-IOV.
O driver de miniporta VF relata os recursos de hardware SR-IOV do adaptador de rede virtual subjacente por meio de uma estrutura NDIS_SRIOV_CAPABILITIES inicializada assim:
O driver de miniporta inicializa o membro Header. O driver define o membro Type de Header como NDIS_OBJECT_TYPE_DEFAULT.
A partir do NDIS 6.30, o driver de miniporta define o membro Revision de Header para NDIS_SRIOV_CAPABILITIES _REVISION_1 e o membro Size para NDIS_SIZEOF_SRIOV_CAPABILITIES_REVISION_1.
O driver de miniporta define o sinalizador NDIS_SRIOV_CAPS_PF_MINIPORT no membro SriovCapabilities para relatar os recursos SR-IOV.
Observação
O driver de miniporta VF deve definir o sinalizador de NDIS_SRIOV_CAPS_VF_MINIPORT e o sinalizador de NDIS_SRIOV_CAPS_SRIOV_SUPPORTED.
O driver de miniporta VF registra os recursos SR-IOV do adaptador de rede seguindo estas etapas:
O driver de miniporta inicializa uma estrutura NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES.
O driver de miniporta define os membros HardwareSriovCapabilities e CurrentSriovCapabilities como um ponteiro para a estrutura NDIS_SRIOV_CAPABILITIES inicializada anteriormente.
O driver chama NdisMSetMiniportAttributes e define o parâmetro MiniportAttributes como um ponteiro para a estruturaNDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES.
O driver de miniporta VF não deve anunciar recursos de VMQ (fila de máquinas virtuais). No entanto, o driver pode anunciar suporte para outras tecnologias NDIS, como gerenciamento de energia e RSS (Receive Side Scaling).
Para obter mais informações sobre RSS, consulte RSS (Receive Side Scaling).