Uso de la recuperación y reinicio de la aplicación

Una aplicación puede usar recuperación y reinicio de aplicaciones (ARR) para guardar información de datos y estado antes de que la aplicación salga debido a una excepción no controlada o cuando la aplicación deje de responder. La aplicación también se reinicia, si se solicita.

Cuando se registra para la recuperación o el reinicio, la información de registro se agrega al proceso. Informe de errores de Windows (WER) usa la información de registro para llamar a la devolución de llamada de recuperación y reiniciar la aplicación. Por ejemplo, si se registra para la recuperación y la aplicación encuentra una excepción no controlada, WER muestra un cuadro de diálogo al usuario que proporciona al usuario la opción de comprobar una solución en línea, cerrar el programa o depurar el programa. Si el usuario elige buscar una solución o cerrar el programa, WER llama a la devolución de llamada registrada y ofrece a la aplicación la posibilidad de guardar datos e información de estado. Una vez completada la recuperación, la aplicación finaliza.

Si se registra para reiniciar y la aplicación encuentra una excepción no controlada, WER muestra el mismo cuadro de diálogo al usuario, pero ofrece la opción de reiniciar el programa en lugar de cerrar el programa. Si se registra para la recuperación y el reinicio, primero se produce la recuperación; La aplicación finaliza y se reinicia.

Una aplicación que no responde se controla de forma similar. Se considera que una aplicación no responde si no responde a los mensajes de Windows durante cinco segundos y el usuario intenta interactuar con la aplicación; el usuario verá (sin responder) en la barra de título. WER se activa cuando el usuario hace clic en el botón cerrar del sistema.

Debe registrarse para recuperar o reiniciar, o quitar el registro, antes de que la aplicación deje de responder o encuentre una excepción no controlada. Sin embargo, en la devolución de llamada de recuperación, puede cambiar la línea de comandos de reinicio.

Para obtener más información sobre el registro para la recuperación o el reinicio, consulte los temas siguientes:

Para obtener ejemplos que implementan las características de recuperación y reinicio, consulte los ejemplos de AppRecovery y AppRestart en windows SDK ubicados en la carpeta WinBase\WindowsErrorReporting.