Regra PnpSurpriseRemove (wdm)
A regra PnpSurpriseRemove especifica que o driver não chama IoDeleteDevice ou IoDetachDevice durante o processamento de uma solicitação de IRP_MN_SURPRISE_REMOVAL .
O gerenciador de PnP envia a solicitação IRP_MN_SURPRISE_REMOVAL para notificar os drivers de que um dispositivo não está mais disponível para operações de E/S e que ele provavelmente foi removido inesperadamente do computador.
- Todos os drivers PnP devem lidar com IRP_MN_SURPRISE_REMOVAL solicitação .
- O driver não deve chamar IoDeleteDevice ou IoDetachDevice em objetos de dispositivo até que a IRP_MN_SURPRISE_REMOVAL IRP seja bem-sucedida e todas as alças abertas para o dispositivo sejam fechadas.
- Em seguida, o gerenciador PnP envia uma solicitação IRP_MN_REMOVE_DEVICE para a pilha do dispositivo. Em resposta à remoção do IRP, os drivers desanexam seus objetos de dispositivo da pilha e os excluem.
Para obter mais informações sobre como um driver deve responder a IRP_MN_SURPRISE_REMOVAL solicitação, consulte Manipulando uma solicitação de IRP_MN_SURPRISE_REMOVAL
Modelo de driver: WDM
Como testar
Em tempo de compilação |
---|
Execute o Verificador de Driver Estático e especifique a regra PnpSurpriseRemove . Use as seguintes etapas para executar uma análise do código:
Para obter mais informações, consulte Usando o Verificador de Driver Estático para localizar defeitos em drivers. |
Aplica-se a
Confira também
Manipulando uma solicitação de IRP_MN_SURPRISE_REMOVALanalisando um driver usando ferramentas de verificação e análise de códigoIRP_MN_SURPRISE_REMOVALIRP_MN_REMOVE_DEVICE