Uso del ripristino e del riavvio dell'applicazione
Un'applicazione può usare Il ripristino e il riavvio dell'applicazione (ARR) per salvare i dati e le informazioni sullo stato prima che l'applicazione venga chiusa a causa di un'eccezione non gestita o quando l'applicazione smette di rispondere. Anche l'applicazione viene riavviata, se richiesto.
Quando si esegue la registrazione per il ripristino o il riavvio, le informazioni di registrazione verranno aggiunte al processo. Segnalazione Errori Windows (WER) usa le informazioni di registrazione per chiamare il callback di ripristino e riavviare l'applicazione. Ad esempio, se si esegue la registrazione per il ripristino e l'applicazione rileva un'eccezione non gestita, wer visualizza una finestra di dialogo all'utente che offre all'utente la possibilità di controllare una soluzione online, chiudere il programma o eseguire il debug del programma. Quando l'utente sceglie di cercare una soluzione o di chiudere il programma, WER chiama il callback registrato e consente all'applicazione di salvare i dati e le informazioni sullo stato. Al termine del ripristino, l'applicazione viene terminata.
Se si esegue la registrazione per il riavvio e l'applicazione rileva un'eccezione non gestita, wer visualizza la stessa finestra di dialogo all'utente, ma offre la possibilità di riavviare il programma invece di chiudere il programma. Se si esegue la registrazione sia per il ripristino che per il riavvio, il ripristino si verifica per primo; l'applicazione viene quindi terminata e riavviata.
Un'applicazione che non risponde viene gestita in modo simile. Un'applicazione viene considerata non risponde se non risponde ai messaggi di Windows per cinque secondi e l'utente tenta di interagire con l'applicazione; l'utente visualizzerà (Non risponde) nella barra del titolo. WeR viene attivato quando l'utente fa clic sul pulsante di chiusura del sistema.
È necessario eseguire la registrazione per il ripristino o il riavvio o rimuovere la registrazione prima che l'applicazione non risponda o rileva un'eccezione non gestita. Tuttavia, nel callback di ripristino, è possibile modificare la riga di comando di riavvio.
Per informazioni dettagliate sulla registrazione per il ripristino o il riavvio, vedere gli argomenti seguenti:
Per esempi che implementano le funzionalità di ripristino e riavvio, vedi gli esempi AppRecovery e AppRestart in Windows SDK che si trovano nella cartella WinBase\WindowsErrorReporting.