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 o 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 de 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: WDM
Cómo probar
En tiempo de compilación |
---|
Ejecute el comprobador de controladores estáticos y especifique la regla PnpSurpriseRemove . Usa los pasos siguientes para ejecutar un análisis de tu código:
Para obtener más información, consulte Uso del comprobador de controladores estáticos para buscar defectos en controladores. |
Se aplica a
Consulte también
Control de una solicitud de IRP_MN_SURPRISE_REMOVALanálisis de un controlador mediante herramientas de verificación y análisis de códigoIRP_MN_SURPRISE_REMOVALIRP_MN_REMOVE_DEVICE