Partilhar via


Parando um stack de controladores

Se um dispositivo for removido, o NDIS desativará a stack de drivers. Uma operação de interrupção da pilha de controladores desenvolve-se da seguinte forma:

  1. O NDIS pausa a pilha de controladores. Para obter mais informações sobre como pausar a pilha de controladores, consulte Pausar uma Pilha de Controladores.

  2. O NDIS chama a função ProtocolUnbindAdapterEx do driver de protocolo.

    A ligação entra no estado de Fechamento. Depois que o OID pendente e as solicitações de envio forem concluídos e todos os dados recebidos forem retornados, a associação entrará no estado Unbound.

  3. O NDIS separa todos os módulos de filtro, começando do topo da pilha e progredindo até o driver da miniporta.

    Depois que o NDIS chama a função FilterDetach de um driver de filtro e o driver de filtro libera todos os recursos para um módulo de filtro, o módulo de filtro está no estado Desanexado.

  4. O NDIS interrompe o adaptador Miniport.

    Depois que o NDIS chama a função MiniportHaltEx do driver de miniporto, o driver de miniporto libera todos os recursos para o adaptador de miniporto e o adaptador de miniporto está no estado de interrupção.

  5. Se todos os módulos de um driver de filtro estiverem desanexados, o sistema poderá descarregar o driver de filtro.

  6. Se todos os adaptadores de miniporta que um driver de miniporta gere forem desativados, o sistema poderá descarregar o driver de miniporta.