Utilisation de la récupération et du redémarrage d’application

Une application peut utiliser la récupération et le redémarrage d’application (ARR) pour enregistrer les données et les informations d’état avant la fermeture de l’application en raison d’une exception non gérée ou lorsque l’application cesse de répondre. L’application est également redémarrée, si nécessaire.

Lorsque vous vous inscrivez pour la récupération ou le redémarrage, les informations d’inscription sont ajoutées au processus. Rapport d'erreurs Windows (WER) utilise les informations d’inscription pour appeler votre rappel de récupération et redémarrer votre application. Par exemple, si vous vous inscrivez pour une récupération et que votre application rencontre une exception non gérée, WER affiche une boîte de dialogue à l’utilisateur qui donne à l’utilisateur la possibilité de rechercher une solution en ligne, de fermer le programme ou de déboguer le programme. Si l’utilisateur choisit de case activée pour une solution ou de fermer le programme, WER appelle le rappel inscrit et donne à l’application la possibilité d’enregistrer les données et les informations d’état. Une fois la récupération terminée, l’application est arrêtée.

Si vous vous inscrivez au redémarrage et que votre application rencontre une exception non gérée, WER affiche la même boîte de dialogue à l’utilisateur, mais donne la possibilité de redémarrer le programme au lieu de fermer le programme. Si vous vous inscrivez à la récupération et au redémarrage, la récupération se produit en premier ; l’application est ensuite arrêtée et redémarrée.

Une application qui ne répond pas est gérée de la même manière. Une application est considérée comme ne répondant pas si elle ne répond pas aux messages Windows pendant cinq secondes et que l’utilisateur tente ensuite d’interagir avec l’application ; l’utilisateur verra (Ne répond pas) dans la barre de titre. WER est activé lorsque l’utilisateur clique sur le bouton de fermeture du système.

Vous devez vous inscrire pour la récupération ou le redémarrage, ou supprimer l’inscription, avant que l’application ne réponde ou rencontre une exception non gérée. Toutefois, dans votre rappel de récupération, vous pouvez modifier la ligne de commande de redémarrage.

Pour plus d’informations sur l’inscription à la récupération ou au redémarrage, consultez les rubriques suivantes :

Pour obtenir des exemples qui implémentent les fonctionnalités de récupération et de redémarrage, consultez les exemples AppRecovery et AppRestart dans le Kit de développement logiciel (SDK) Windows situé dans le dossier WinBase\WindowsErrorReporting.