CWinApp::RegisterWithRestartManager

Stocke l'application avec le gestionnaire de redémarrage.

virtual HRESULT RegisterWithRestartManager(
   BOOL bRegisterRecoveryCallback,
   const CString &strRestartIdentifier
);

virtual HRESULT RegisterWithRestartManager(
   LPCWSTR pwzCommandLineArgs,
   DWORD dwRestartFlags,
   APPLICATION_RECOVERY_CALLBACK pRecoveryCallback,
   LPVOID lpvParam,
   DWORD dwPingInterval,
   DWORD dwCallbackFlags
);

Paramètres

Paramètre

Description

[in] bRegisterRecoveryCallback

TRUE indique que cette instance de l'application utilise une fonction de rappel de redémarrage ; FALSE indique qu'il ne le fait pas.L'infrastructure appelle la fonction de rappel de redémarrage lorsque l'application s'arrête de façon inattendue.Pour plus d'informations, consultez CWinApp::ApplicationRecoveryCallback.

[in] strRestartIdentifier

La seule chaîne qui identifie cette instance du gestionnaire de redémarrage.L'identificateur du gestionnaire de redémarrage est unique pour chaque instance d'une application.

[in] pwzCommandLineArgs

Une chaîne qui contient tous les autres arguments de la ligne de commande.

[in] dwRestartFlags

Indicateurs facultatifs pour le gestionnaire de redémarrage.Pour plus d'informations, consultez la section Notes.

[in] pRecoveryCallback

La fonction de rappel de récupération.Cette fonction doit prendre un paramètre d' LPVOID comme entrée et retourner DWORD.La fonction de rappel par défaut de redémarrage est CWinApp::ApplicationRecoveryCallback.

[in] lpvParam

Le paramètre d'entrée de la fonction de rappel de récupération.Pour plus d'informations, consultez CWinApp::ApplicationRecoveryCallback.

[in] dwPingInterval

La durée que le gestionnaire de redémarrage attend la fonction de rappel de redémarrage pour retourner.Ce paramètre est exprimée en millisecondes.

[in] dwCallbackFlags

Balises passées à la fonction de rappel de récupération.Réservé pour un usage futur.

Valeur de retour

S_OK si la méthode est réussie ; sinon code d'erreur.

Notes

Si votre application utilise l'implémentation MFC par défaut pour les fichiers de sauvegarde automatique, vous devez utiliser la version simple d' RegisterWithRestartManager.Utilisez la version complexe d' RegisterWithRestartManager si vous souhaitez personnaliser le comportement d'enregistrement automatique de votre application.

Si vous appelez cette méthode en une chaîne vide pour strRestartIdentifier, RegisterWithRestartManager crée une chaîne d'identificateur unique pour cette instance du gestionnaire de redémarrage.

Lorsqu'une application s'arrête de façon inattendue, le gestionnaire de redémarrage redémarre l'application de la ligne de commande et fournit le seul identificateur de redémarrage comme argument facultatif.Dans ce cas, l'infrastructure appelle RegisterWithRestartManager deux fois.Le premier appel provient de CWinApp::InitInstance avec une chaîne vide pour l'identificateur de chaîne.Ensuite, la méthode CWinApp::ProcessShellCommand appelle RegisterWithRestartManager avec le seul identificateur de récupération.

Après avoir enregistré une application avec le gestionnaire de redémarrage, le gestionnaire de redémarrage surveille l'application.Si l'application s'arrête de façon inattendue, le gestionnaire de redémarrage appelle la fonction de rappel de redémarrage pendant le processus arrêté.Le gestionnaire de redémarrage dwPingInterval attend une réponse de la fonction de rappel de récupération.Si la fonction de rappel de redémarrage ne répond pas dans cette période, l'application se ferme sans exécuter la fonction de rappel de récupération.

Par défaut, les dwRestartFlags ne sont pas pris en charge mais sont fournis pour une utilisation ultérieure.Les valeurs possibles pour dwRestartFlags sont les suivantes :

  • RESTART_NO_CRASH

  • RESTART_NO_HANG

  • RESTART_NO_PATCH

  • RESTART_NO_REBOOT

Configuration requise

en-tête : afxwin.h

Voir aussi

Référence

Classe de CWinApp

Graphique de la hiérarchie

CWinApp::SupportsRestartManager

CWinApp::ApplicationRecoveryCallback

Classe de CDataRecoveryHandler