Partilhar via


Desligar um dispositivo

A menos que um dispositivo esteja habilitado para ativação, seus drivers o desligarão quando o sistema desligar. Os dispositivos sempre devem ser desligados após a remoção ou remoção surpresa.

Quando um dispositivo é removido, o gerenciador de Plug and Play envia uma solicitação IRP_MN_REMOVE_DEVICE para a pilha de dispositivos. Em resposta a esse IRP, os drivers do dispositivo devem garantir que o dispositivo seja desligado. Desligar o dispositivo é uma parte implícita do tratamento de remoção; o proprietário da política de energia do dispositivo não é necessário para enviar um IRP_MN_SET_POWER para o PowerDeviceD3.

À medida que os drivers lidam com a solicitação de IRP_MN_REMOVE_DEVICE , eles aguardam a conclusão da E/S pendente, executam qualquer processamento de remoção necessário, chamam PoSetPowerState para notificar o power manager de que o dispositivo está no estado D3 e excluem os objetos de dispositivo que eles criaram para este dispositivo. Normalmente, o motorista do ônibus desativa a energia do dispositivo.

Se um dispositivo for removido inesperadamente de um sistema operacional Windows 2000 ou posterior, o gerenciador de Plug and Play enviará uma solicitação IRP_MN_SURPRISE_REMOVAL para a parte superior da pilha de dispositivos correspondente. Em resposta a esse IRP, os drivers do dispositivo devem executar o processamento de remoção surpresa, conforme descrito em Manipulando uma solicitação de IRP_MN_SURPRISE_REMOVAL.

No desligamento do sistema, o power manager envia um IRP_MN_SET_POWER para um estado de energia do sistema (S4 ou S5). Quando o proprietário da política de energia do dispositivo recebe esse IRP, ele deve enviar uma IRP_MN_SET_POWER para o PowerDeviceD3 para que drivers inferiores possam concluir seu trabalho e desligar o dispositivo.

Opcionalmente, um driver pode executar a detecção ociosa para seu dispositivo ou solicitar que o power manager execute a detecção ociosa para que o dispositivo possa ser desligado quando não estiver em uso. Para obter mais informações, consulte Detectando um dispositivo ocioso.