Compartilhar via


Parando uma pilha de driver

Se um dispositivo for removido, o NDIS interromperá uma pilha de driver. Uma operação de parada de pilha do driver prossegue da seguinte maneira:

  1. O NDIS pausa a pilha do driver. Para obter mais informações sobre como pausar a pilha de driver, consulte Pausando uma pilha de driver.

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

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

  3. O NDIS desanexa todos os módulos de filtro, começando da parte superior da pilha e progredindo até o driver de miniport.

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

  4. O NDIS interrompe o adaptador de miniporte.

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

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

  6. Se todos os adaptadores de miniporte gerenciados por um miniportor forem interrompidos, o sistema poderá descarregar o driver de miniporte.