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.
Em um sistema PnP, um dispositivo faz a transição por vários estados PnP à medida que está configurado, iniciado, possivelmente interrompido para reequilibrar recursos e possivelmente removido. Esta seção fornece uma visão geral dos estados do dispositivo PnP. A visão geral é um roteiro para grande parte do suporte PnP necessário em um driver. Outras partes desta documentação descrevem cada transição de estado em detalhes.
A figura a seguir mostra os estados PnP para um dispositivo e como um dispositivo faz a transição de um estado para outro.
Começando no canto superior esquerdo da figura anterior, um dispositivo PnP está fisicamente presente no sistema porque o usuário acabou de inserir o dispositivo ou o dispositivo estava presente no momento da inicialização. O dispositivo ainda não foi reconhecido pelo software do sistema.
Para iniciar a configuração de software para o dispositivo, o gerenciador PnP e o driver de barramento pai enumeram o dispositivo. O gerenciador PnP, possivelmente com a ajuda de componentes do modo de usuário, identifica os drivers do dispositivo, incluindo o driver de função e quaisquer drivers de filtro opcionais. O gerenciador PnP chamará a rotina DriverEntry de cada driver se o driver ainda não estiver carregado. Para obter mais informações sobre relatórios e enumeração de um dispositivo PnP, consulte Adicionando um dispositivo PnP a um sistema em execução.
Depois que um driver é inicializado, ele deve estar pronto para inicializar seus dispositivos. O gerenciador PnP chama a rotina AddDevice do driver para cada dispositivo que ele controla.
Quando um driver recebe uma solicitação IRP_MN_START_DEVICE do gerenciador PnP, o driver inicia o dispositivo e está pronto para processar solicitações de E/S para o dispositivo. Para obter informações sobre como lidar com uma solicitação de IRP_MN_START_DEVICE , consulte Como iniciar um dispositivo.
Se o gerenciador PnP precisar reconfigurar os recursos de hardware de um dispositivo ativo, ele enviará IRP_MN_QUERY_STOP_DEVICE e IRP_MN_STOP_DEVICE solicitações para os drivers do dispositivo. Depois de reconfigurar os recursos de hardware, o gerenciador PnP orienta os drivers a reiniciar o dispositivo enviando uma solicitação IRP_MN_START_DEVICE . Para obter informações sobre como lidar com IRPs de parada, consulte Interrompendo um dispositivo. (Os drivers de um dispositivo configurado para inicialização podem receber solicitações IRP_MN_QUERY_STOP_DEVICE e IRP_MN_STOP_DEVICE antes do dispositivo ser iniciado, embora essa etapa não seja mostrada na figura anterior.)
No Windows 98/Me, o gerenciador PnP também envia solicitações IRP_MN_QUERY_STOP_DEVICE e IRP_MN_STOP_DEVICE quando um dispositivo está sendo desabilitado. Os drivers nesses sistemas também recebem uma solicitação IRP_MN_STOP_DEVICE após um início com falha.
Quando um dispositivo PnP está sendo fisicamente removido do sistema ou já foi removido, o gerenciador PnP envia vários IRPs de remoção para os drivers do dispositivo, direcionando-os para remover a representação de software do dispositivo (objetos de dispositivo e assim por diante). Para obter informações sobre como lidar com a remoção de IRPs, consulte Removendo um dispositivo.
Em algum momento, depois que todos os dispositivos de um driver foram removidos, o gerenciador PnP chama a rotina de descarga do driver e descarrega o driver.