Regla PnpSurpriseRemove (wdm)
La regla PnpSurpriseRemove especifica que el controlador no llama a IoDeleteDevice o IoDetachDevice mientras procesa una solicitud de IRP_MN_SURPRISE_REMOVAL.
El administrador de PnP envía la solicitud de IRP_MN_SURPRISE_REMOVAL para notificar a los controladores que un dispositivo ya no está disponible para las operaciones de E/S y que probablemente se haya quitado inesperadamente del equipo.
- Todos los controladores PnP deben controlar IRP_MN_SURPRISE_REMOVAL solicitud.
- El controlador no debe llamar a ioDeleteDevice ni ioDetachDevice en objetos de dispositivo hasta que el IRP de IRP_MN_SURPRISE_REMOVAL se realice correctamente y se cierren todos los identificadores abiertos en el dispositivo.
- A continuación, el administrador de PnP envía una solicitud IRP_MN_REMOVE_DEVICE a la pila de dispositivos. En respuesta a la eliminación de IRP, los controladores desasocian sus objetos de dispositivo de la pila y los eliminan.
Para obtener más información sobre cómo un controlador debe responder a IRP_MN_SURPRISE_REMOVAL solicitud, consulte Control de una solicitud de IRP_MN_SURPRISE_REMOVAL
Modelo de controlador de : WDM
Cómo probar
En tiempo de compilación |
---|
Ejecute del comprobador de controladores estáticos y especifique la regla de de PnpSurpriseRemove. Siga estos pasos para ejecutar un análisis del código:
Para obtener más información, vea Using Static Driver Verifier to Find Defects in Drivers. |
Se aplica a
Consulte también
control de unIRP_MN_SURPRISE_REMOVALIRP_MN_REMOVE_DEVICE de solicitud de IRP_MN_SURPRISE_REMOVAL