Sequência de ativação para um driver de cliente NetAdapterCx
A figura a seguir mostra a ordem na qual NetAdapterCx chama as funções de retorno de chamada de evento de um driver de cliente ao trazer um dispositivo para o estado totalmente operacional, começando a partir do estado Device Arrived na parte inferior da figura:
As linhas horizontais gerais marcam as etapas envolvidas na inicialização de um dispositivo. A coluna no lado esquerdo da figura descreve a etapa, e a coluna à direita lista os callbacks de eventos que a realizam. As etapas marcadas com texto azul são específicas para NetAdapterCx, enquanto outras etapas são comuns a todos os drivers baseados em WDF.
Na parte inferior da figura, o dispositivo não está presente no sistema. Quando o utilizador insere o dispositivo, a estrutura começa por chamar o callback EvtDriverDeviceAdd do driver , para que o driver possa criar um objeto de dispositivo que represente o dispositivo. A estrutura continua chamando as rotinas de callback do controlador, progredindo pela sequência até que o dispositivo esteja operacional. Lembre-se de que a estrutura invoca os retornos de chamada de evento em ordem de baixo para cima, conforme mostrado na figura, portanto, EvtDeviceFilterRemoveResourceRequirements é chamado antes de EvtDeviceFilterAddResourceRequirements e assim por diante. Se o dispositivo foi parado para reequilibrar recursos ou estava fisicamente presente, mas em um estado de baixa energia, nem todas as etapas são necessárias, como mostra a figura.