Compartilhar via


Diretrizes de DriverEntry para drivers de miniporta PF

Este tópico descreve as diretrizes para escrever uma função DriverEntry para o driver de miniporto da função física PCI Express (PCIe) (PF). O PF é um componente de um adaptador de rede que dá suporte à SR-IOV (virtualização de E/S de raiz única).

Nota Essas diretrizes se aplicam somente a drivers de miniporta PF. Para obter diretrizes de inicialização para o driver de miniporto de uma função virtual PCIe (VF) do adaptador, consulte Inicializando um driver de miniporto VF.

O adaptador de rede SR-IOV deve implementar uma ponte de hardware que encaminhe o tráfego de rede pela porta física no adaptador e VPorts (portas virtuais internas). Essa ponte é conhecida como a opção NIC. Para obter mais informações, consulte Comutadores NIC.

Se o driver de miniporto PF der suporte à criação estática do comutador NIC no adaptador de rede SR-IOV, talvez seja necessário alocar recursos de comutador quando o FDO (objeto de dispositivo funcional) for criado para o adaptador de rede na pilha de dispositivos. Nesse caso, o driver deve alocar esses recursos antes que o NDIS chame MiniportInitializeEx. Para fazer isso, o driver deve registrar manipuladores opcionais de Plug-and-Play (PnP) para que ele possa participar do processo quando o FDO do adaptador for adicionado ou removido da pilha do dispositivo.

O driver de miniporto deve fornecer uma função MiniportSetOptions para registrar essas funções de manipulador PnP. Para fazer isso, o driver segue estas etapas do contexto da chamada para sua função DriverEntry :

  1. O driver de miniporta inicializa uma estrutura NDIS_MINIPORT_DRIVER_CHARACTERISTICS com os pontos de entrada das funções MiniportXxx . Em particular, o driver define o membro SetOptionsHandler como o ponto de entrada da função MiniportSetOptions do driver.

  2. O driver de miniporto chama a função NdisMRegisterMiniportDriver para registrar seus pontos de entrada. No contexto dessa chamada, o NDIS chama a função MiniportSetOptions do driver

  3. Quando o NDIS chama MiniportSetOptions, o driver de miniporto chama a função NdisSetOptionalHandlers e especifica uma estrutura NDIS_MINIPORT_PNP_CHARACTERISTICS . Essa estrutura define os pontos de entrada para as funções MiniportAddDevice, MiniportRemoveDevice, MiniportStartDevice e MiniportFilterResourceRequirements . O NDIS chama essas funções de manipulador quando lida com os IRPs (pacotes de solicitação de E/S) PnP emitidos pelo driver de barramento PCI.

    Se o driver de miniporto PF precisar alocar recursos de software adicionais para a opção NIC antes que o NDIS chame a função MiniportInitializeEx do driver, o driver deverá registrar uma função MiniportAddDevice . Quando o NDIS chama a função MiniportAddDevice, o driver de miniporto PF pode chamar NdisReadConfiguration para ler a configuração do comutador NIC palavra-chave definições do registro. Para obter mais informações sobre essas palavras-chave, consulte Palavras-chave INF padronizadas para SR-IOV.

    Para obter mais informações sobre as diretrizes para a função MiniportAddDevice , consulte MiniportAddDevice Guidelines for PF Miniport Drivers.

Para obter mais informações sobre como as opções nic são criadas, consulte Criando um comutador NIC.