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
CWinApp::SupportsRestartManager