CDataRecoveryHandler, classe
L’enregistrement CDataRecoveryHandler
automatique des documents et les restaure si une application se ferme de façon inattendue.
Syntaxe
class CDataRecoveryHandler : public CObject
Membres
Constructeurs
Nom | Description |
---|---|
CDataRecoveryHandler ::CDataRecoveryHandler | Construit un objet CDataRecoveryHandler . |
Méthodes
Nom | Description |
---|---|
CDataRecoveryHandler ::AutosaveAllDocumentInfo | Enregistre automatiquement chaque fichier inscrit auprès de la CDataRecoveryHandler classe. |
CDataRecoveryHandler ::AutosaveDocumentInfo | Enregistre automatiquement le document spécifié. |
CDataRecoveryHandler ::CreateDocumentInfo | Ajoute un document à la liste des documents ouverts. |
CDataRecoveryHandler ::D eleteAllAutosavedFiles | Supprime tous les fichiers enregistrés automatiquement actuels. |
CDataRecoveryHandler ::D eleteAutosavedFile | Supprime le fichier enregistré automatiquement spécifié. |
CDataRecoveryHandler ::GenerateAutosaveFileName | Génère le nom d’un fichier d’enregistrement automatique associé au nom de fichier de document fourni. |
CDataRecoveryHandler ::GetAutosaveInterval | Retourne l’intervalle entre les tentatives d’enregistrement automatique. |
CDataRecoveryHandler ::GetAutosavePath | Retourne le chemin des fichiers enregistrés automatiquement. |
CDataRecoveryHandler ::GetDocumentListName | Récupère le nom du document à partir d’un CDocument objet. |
CDataRecoveryHandler ::GetNormalDocumentTitle | Récupère le titre normal du document spécifié. |
CDataRecoveryHandler ::GetRecoveredDocumentTitle | Crée et retourne le titre du document récupéré. |
CDataRecoveryHandler ::GetRestartIdentifier | Récupère l’identificateur de redémarrage unique de l’application. |
CDataRecoveryHandler ::GetSaveDocumentInfoOnIdle | Indique si l’enregistrement CDataRecoveryHandler automatique est effectué sur la boucle inactive actuelle. |
CDataRecoveryHandler ::GetShutdownByRestartManager | Indique si le gestionnaire de redémarrage a provoqué la fermeture de l’application. |
CDataRecoveryHandler ::Initialize | Initialise la CDataRecoveryHandler . |
CDataRecoveryHandler ::QueryRestoreAutosavedDocuments | Affiche une boîte de dialogue à l’utilisateur pour chaque document enregistré CDataRecoveryHandler automatiquement. La boîte de dialogue détermine si l’utilisateur souhaite restaurer le document enregistré automatiquement. |
CDataRecoveryHandler ::ReadOpenDocumentList | Charge la liste des documents ouverts à partir du Registre. |
CDataRecoveryHandler ::RemoveDocumentInfo | Supprime le document fourni de la liste des documents ouverts. |
CDataRecoveryHandler ::ReopenPreviousDocuments | Ouvre les documents précédemment ouverts. |
CDataRecoveryHandler ::RestoreAutosavedDocuments | Restaure les documents enregistrés automatiquement en fonction de l’entrée utilisateur. |
CDataRecoveryHandler ::SaveOpenDocumentList | Enregistre la liste actuelle des documents ouverts dans le Registre Windows. |
CDataRecoveryHandler ::SetAutosaveInterval | Définit le temps entre les cycles d’enregistrement automatique en millisecondes. |
CDataRecoveryHandler ::SetAutosavePath | Définit le répertoire dans lequel les fichiers enregistrés automatiquement sont stockés. |
CDataRecoveryHandler ::SetRestartIdentifier | Définit l’identificateur de redémarrage unique pour cette instance du CDataRecoveryHandler . |
CDataRecoveryHandler ::SetSaveDocumentInfoOnIdle | Définit si les CDataRecoveryHandler informations de document ouvertes sont enregistrées dans le Registre Windows pendant le cycle d’inactivité actuel. |
CDataRecoveryHandler ::SetShutdownByRestartManager | Définit si la sortie précédente de l’application a été provoquée par le gestionnaire de redémarrage. |
CDataRecoveryHandler ::UpdateDocumentInfo | Met à jour les informations d’un document, car l’utilisateur l’a enregistrée. |
Données membres
Nom | Description |
---|---|
m_bRestoringPreviousOpenDocs | Indique si le gestionnaire de récupération de données rouvert les documents ouverts précédemment. |
m_bSaveDocumentInfoOnIdle | Indique si le gestionnaire de récupération de données enregistre automatiquement les documents sur la boucle inactive suivante. |
m_bShutdownByRestartManager | Indique si le gestionnaire de redémarrage provoque la fermeture de l’application. |
m_dwRestartManagerSupportFlags | Indicateurs qui indiquent la prise en charge du gestionnaire de redémarrage pour l’application. |
m_lstAutosavesToDelete | Liste des fichiers enregistrés automatiquement qui n’ont pas été supprimés lorsque les documents d’origine ont été fermés. Une fois l’application terminée, le gestionnaire de redémarrage réessaye de supprimer les fichiers. |
m_mapDocNameToAutosaveName | Mappage des noms de documents aux noms de fichiers enregistrés automatiquement. |
m_mapDocNameToDocumentPtr | Carte des noms de documents aux pointeurs CDocument . |
m_mapDocNameToRestoreBool | Mappage des noms de documents à un paramètre booléen qui indique s’il faut restaurer le document enregistré automatiquement. |
m_mapDocumentPtrToDocName | Carte des pointeurs vers les noms de CDocument document. |
m_mapDocumentPtrToDocTitle | Carte des CDocument pointeurs vers les titres du document. Ces titres sont utilisés pour enregistrer des fichiers. |
m_nAutosaveInterval | Durée en millisecondes entre les enregistrements automatiques. |
m_nTimerID | Identificateur du minuteur d’enregistrement automatique. |
m_strAutosavePath | Emplacement où les documents enregistrés automatiquement sont stockés. |
m_strRestartIdentifier | Représentation sous forme de chaîne d’un GUID pour le gestionnaire de redémarrage. |
Notes
Le gestionnaire de redémarrage utilise la classe pour effectuer le CDataRecoveryHandler
suivi de tous les documents ouverts et les enregistrer automatiquement si nécessaire. Pour activer l’enregistrement automatique, utilisez la méthode CDataRecoveryHandler ::SetSaveDocumentInfoOnIdle . Cette méthode dirige l’enregistrement CDataRecoveryHandler
automatique sur la boucle inactive suivante. Le gestionnaire de redémarrage appelle SetSaveDocumentInfoOnIdle
quand l’enregistrement CDataRecoveryHandler
automatique doit être effectué.
Toutes les méthodes de la CDataRecoveryHandler
classe sont virtuelles. Remplacez les méthodes de cette classe pour créer votre propre gestionnaire de récupération de données personnalisé. Sauf si vous créez votre propre gestionnaire de récupération de données ou le gestionnaire de redémarrage, n’instanciez pas un gestionnaire CDataRecoveryHandler. La classe CWinApp crée un CDataRecoveryHandler
objet tel qu’il est nécessaire.
Avant de pouvoir utiliser un CDataRecoveryHandler
objet, vous devez appeler CDataRecoveryHandler ::Initialize.
Étant donné que la CDataRecoveryHandler
classe est étroitement connectée au gestionnaire de redémarrage, CDataRecoveryHandler
dépend du paramètre m_dwRestartManagerSupportFlags
global . Ce paramètre détermine les autorisations dont dispose le gestionnaire de redémarrage et la façon dont il interagit avec votre application. Pour incorporer le gestionnaire de redémarrage dans une application existante, vous devez affecter m_dwRestartManagerSupportFlags
la valeur appropriée dans le constructeur de votre application principale. Pour plus d’informations sur l’utilisation du gestionnaire de redémarrage, consultez Guide pratique pour ajouter la prise en charge du Gestionnaire de redémarrage.
Spécifications
En-tête : afxdatarecovery.h
CDataRecoveryHandler ::AutosaveAllDocumentInfo
Enregistre automatiquement chaque fichier inscrit auprès de la CDataRecoveryHandler
classe.
virtual BOOL AutosaveAllDocumentInfo();
Valeur de retour
TRUE si tous CDataRecoveryHandler
les documents enregistrés ; FALSE si aucun document n’a été enregistré.
Notes
Cette méthode retourne TRUE s’il n’y a pas de documents qui doivent être enregistrés. Elle retourne également TRUE sans enregistrer de documents si la récupération ou CWinApp
CDocManager
la récupération de l’application génère une erreur.
Pour utiliser cette méthode, AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART ou AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL doit être définie dans m_dwRestartManagerSupportFlags
. Pour plus d’informations, consultez Guide pratique pour ajouter la prise en charge du Gestionnaire de redémarrage.
CDataRecoveryHandler ::AutosaveDocumentInfo
Enregistre automatiquement le document spécifié.
virtual BOOL AutosaveDocumentInfo(
CDocument* pDocument,
BOOL bResetModifiedFlag = TRUE);
Paramètres
pDocument
[in] Pointeur vers l’enregistrement CDocument
.
bResetModifiedFlag
[in] TRUE indique que le CDataRecoveryHandler
document pDocument doit être modifié ; FALSE indique que le framework considère que pDocument n’est pas modifié. Pour plus d’informations sur l’effet de cet indicateur, consultez la section Remarques.
Valeur de retour
TRUE si les indicateurs appropriés sont définis et que pDocument est un objet valide CDocument
.
Notes
Chaque CDocument
objet a un indicateur qui indique s’il a changé depuis le dernier enregistrement. Utilisez CDocument ::IsModified pour déterminer l’état de cet indicateur. Si un enregistrement CDocument
n’a pas changé depuis la dernière enregistrement, AutosaveDocumentInfo
supprime tous les fichiers enregistrés automatiquement pour ce document. Si un document a changé depuis la dernière enregistrement, il invite l’utilisateur à enregistrer le document avant de le fermer.
Remarque
L’utilisation de bResetModifiedFlag pour modifier l’état du document sur non modifié peut entraîner la perte de données non enregistrées par l’utilisateur. Si l’infrastructure considère qu’un document n’est pas modifié, la fermeture n’invite pas l’utilisateur à enregistrer.
Cette méthode lève une exception avec la macro ASSERT si pDocument n’est pas un objet valide CDocument
.
Pour utiliser cette méthode, AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART ou AFX_RESTARTMANAGER_AUTOSAVE_AT_INTERVAL doivent être définis dans m_dwRestartManagerSupportFlags.
CDataRecoveryHandler ::CDataRecoveryHandler
Construit un objet CDataRecoveryHandler
.
CDataRecoveryHandler(
DWORD dwRestartManagerSupportFlags,
int nAutosaveInterval);
Paramètres
dwRestartManagerSupportFlags
[in] Indique les options du gestionnaire de redémarrage prises en charge.
nAutosaveInterval
[in] Durée entre les enregistrements automatiques. Ce paramètre est en millisecondes.
Notes
L’infrastructure MFC crée automatiquement un CDataRecoveryHandler
objet pour votre application lorsque vous utilisez l’Assistant Nouveau projet . Sauf si vous personnalisez le comportement de récupération de données ou le gestionnaire de redémarrage, vous ne devez pas créer d’objet CDataRecoveryHandler
.
CDataRecoveryHandler ::CreateDocumentInfo
Ajoute un document à la liste des documents ouverts.
virtual BOOL CreateDocumentInfo(CDocument* pDocument);
Paramètres
pDocument
[in] Pointeur vers un CDocument
. Cette méthode crée les informations de document pour ce CDocument
.
Valeur de retour
L’implémentation par défaut retourne TRUE.
Notes
Cette méthode vérifie si pDocument figure déjà dans la liste des documents avant d’ajouter le document. Si pDocument figure déjà dans la liste, cette méthode supprime le fichier enregistré automatiquement associé à pDocument.
Pour utiliser cette méthode, AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART ou AFX_RESTARTMANAGER_AUTOSAVE_AT_INTERVAL doivent être définis dans m_dwRestartManagerSupportFlags.
CDataRecoveryHandler ::D eleteAllAutosavedFiles
Supprime tous les fichiers enregistrés automatiquement actuels.
virtual BOOL DeleteAllAutosavedFiles();
Valeur de retour
L’implémentation par défaut retourne toujours TRUE.
CDataRecoveryHandler ::D eleteAutosavedFile
Supprime le fichier enregistré automatiquement spécifié.
virtual BOOL DeleteAutosavedFile(const CString& strAutosavedFile);
Paramètres
strAutosavedFile
[in] Chaîne qui contient le nom du fichier enregistré automatiquement.
Valeur de retour
L’implémentation par défaut retourne toujours TRUE.
Notes
Si cette méthode ne peut pas supprimer le fichier enregistré automatiquement, elle enregistre le nom du fichier dans une liste. Destructeur pour les CDataRecoveryHandler
tentatives de suppression de chaque fichier enregistré automatiquement spécifié dans cette liste.
CDataRecoveryHandler ::GenerateAutosaveFileName
Génère le nom d’un fichier d’enregistrement automatique associé au nom de fichier de document fourni.
virtual CString GenerateAutosaveFileName(const CString& strDocumentName) const;
Paramètres
strDocumentName
[in] Chaîne qui contient le nom du document. GenerateAutosaveFileName
utilise ce nom de document pour générer un nom de fichier d’enregistrement automatique correspondant.
Valeur de retour
Nom du fichier d’enregistrement automatique généré à partir de strDocumentName.
Notes
Chaque nom de document a un mappage un-à-un avec un nom de fichier d’enregistrement automatique.
CDataRecoveryHandler ::GetAutosaveInterval
Retourne l’intervalle entre les tentatives d’enregistrement automatique.
virtual int GetAutosaveInterval() const;
Valeur de retour
Nombre de millisecondes entre tentatives d’enregistrement automatique.
CDataRecoveryHandler ::GetAutosavePath
Retourne le chemin des fichiers enregistrés automatiquement.
virtual CString GetAutosavePath() const;
Valeur de retour
Emplacement où les documents enregistrés automatiquement sont stockés.
CDataRecoveryHandler ::GetDocumentListName
Récupère le nom du document à partir d’un CDocument
objet.
virtual CString GetDocumentListName(CDocument* pDocument) const;
Paramètres
pDocument
[in] Pointeur vers un CDocument
. GetDocumentListName
récupère le nom du document à partir de ce CDocument
fichier .
Valeur de retour
Nom du document à partir de pDocument.
Notes
Il CDataRecoveryHandler
utilise le nom du document comme clé dans m_mapDocNameToAutosaveName, m_mapDocNameToDocumentPtr et m_mapDocNameToRestoreBool. Ce paramètre permet de CDataRecoveryHandler
surveiller CDocument
les objets, le nom du fichier d’enregistrement automatique et les paramètres d’enregistrement automatique.
CDataRecoveryHandler ::GetNormalDocumentTitle
Récupère le titre normal du document spécifié.
virtual CString GetNormalDocumentTitle(CDocument* pDocument);
Paramètres
pDocument
[in] Pointeur vers un CDocument
.
Valeur de retour
Titre normal du document spécifié.
Notes
Le titre normal d’un document est généralement le nom de fichier du document sans le chemin d’accès. Il s’agit du titre dans le champ Nom de fichier de la boîte de dialogue Enregistrer sous.
CDataRecoveryHandler ::GetRecoveredDocumentTitle
Crée et retourne le titre du document récupéré.
virtual CString GetRecoveredDocumentTitle(const CString& strDocumentTitle) const;
Paramètres
strDocumentTitle
[in] Titre normal du document.
Valeur de retour
Titre du document récupéré.
Notes
Par défaut, le titre récupéré d’un document est le titre normal avec [récupéré] ajouté à celui-ci. Le titre récupéré s’affiche à l’utilisateur lorsque l’utilisateur CDataRecoveryHandler
demande à l’utilisateur de restaurer des documents enregistrés automatiquement.
CDataRecoveryHandler ::GetRestartIdentifier
Récupère l’identificateur de redémarrage unique de l’application.
virtual CString GetRestartIdentifier() const;
Valeur de retour
Identificateur de redémarrage unique.
Notes
L’identificateur de redémarrage est unique pour chaque exécution de l’application.
Le CDataRecoveryHandler
registre stocke des informations sur les documents actuellement ouverts. Lorsque le gestionnaire de redémarrage quitte une application et le redémarre, il fournit l’identificateur de redémarrage à l’application CDataRecoveryHandler
. Utilise CDataRecoveryHandler
l’identificateur de redémarrage pour récupérer la liste des documents précédemment ouverts. Cela permet d’essayer CDataRecoveryHandler
de rechercher et de restaurer des fichiers enregistrés automatiquement.
CDataRecoveryHandler ::GetSaveDocumentInfoOnIdle
Indique si l’enregistrement CDataRecoveryHandler
automatique est effectué sur la boucle inactive actuelle.
virtual BOOL GetSaveDocumentInfoOnIdle() const;
Valeur de retour
TRUE indique les CDataRecoveryHandler
enregistrements automatiques sur la boucle inactive actuelle ; FALSE indique que ce n’est pas le cas.
CDataRecoveryHandler ::GetShutdownByRestartManager
Indique si le gestionnaire de redémarrage a provoqué la fermeture de l’application.
virtual BOOL GetShutdownByRestartManager() const;
Valeur de retour
TRUE indique que le gestionnaire de redémarrage a provoqué la fermeture de l’application ; FALSE indique qu’elle n’a pas été prise en compte.
CDataRecoveryHandler ::Initialize
Initialise la CDataRecoveryHandler
.
virtual BOOL Initialize();
Valeur de retour
TRUE si l’initialisation réussit ; sinon FALSE.
Notes
Le processus d’initialisation charge le chemin d’accès pour le stockage des fichiers d’enregistrement automatique à partir du Registre. Si la Initialize
méthode ne trouve pas ce répertoire ou si le chemin d’accès est NULL, Initialize
échoue et retourne FALSE
.
Utilisez CDataRecoveryHandler ::SetAutosavePath pour modifier le chemin d’enregistrement automatique après l’initialisation de CDataRecoveryHandler
votre application .
La Initialize
méthode démarre également un minuteur à surveiller lorsque l’enregistrement automatique suivant se produit. Utilisez CDataRecoveryHandler ::SetAutosaveInterval pour modifier l’intervalle d’enregistrement automatique après l’initialisation de CDataRecoveryHandler
l’application .
CDataRecoveryHandler ::QueryRestoreAutosavedDocuments
Affiche une boîte de dialogue à l’utilisateur pour chaque document enregistré CDataRecoveryHandler
automatiquement. La boîte de dialogue détermine si l’utilisateur souhaite restaurer le document enregistré automatiquement.
virtual void QueryRestoreAutosavedDocuments();
Notes
Si votre application est Unicode, cette méthode affiche un CTaskDialog à l’utilisateur. Sinon, l’infrastructure utilise AfxMessageBox pour interroger l’utilisateur.
Après QueryRestoreAutosavedDocuments
avoir rassemblé toutes les réponses de l’utilisateur, elle stocke les informations dans la variable membre m_mapDocNameToRestoreBool. Cette méthode ne restaure pas les documents enregistrés automatiquement.
CDataRecoveryHandler ::ReadOpenDocumentList
Charge la liste des documents ouverts à partir du Registre.
virtual BOOL ReadOpenDocumentList();
Valeur de retour
TRUE indique que ReadOpenDocumentList
les informations ont été chargées pour au moins un document du Registre ; FALSE indique qu’aucune information de document n’a été chargée.
Notes
Cette fonction charge les informations de document ouvertes à partir du Registre et les stocke dans la variable membre m_mapDocNameToAutosaveName.
Après avoir ReadOpenDocumentList
chargé toutes les données, elle supprime les informations de document du Registre.
CDataRecoveryHandler ::RemoveDocumentInfo
Supprime le document fourni de la liste des documents ouverts.
virtual BOOL RemoveDocumentInfo(CDocument* pDocument);
Paramètres
pDocument
[in] Pointeur vers le document à supprimer.
Valeur de retour
TRUE si pDocument a été supprimé de la liste ; FALSE si une erreur s’est produite.
Notes
Lorsque l’utilisateur ferme un document, l’infrastructure utilise cette méthode pour la supprimer de la liste des documents ouverts.
S’il RemoveDocumentInfo
ne trouve pas pDocument dans la liste des documents ouverts, il ne fait rien et retourne TRUE.
Pour utiliser cette méthode, AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES doit être défini dans m_dwRestartManagerSupportFlags.
CDataRecoveryHandler ::ReopenPreviousDocuments
Ouvre les documents précédemment ouverts.
virtual BOOL ReopenPreviousDocuments();
Valeur de retour
TRUE si au moins un document a été ouvert ; sinon FALSE.
Notes
Cette méthode ouvre l’enregistrement le plus récent des documents précédemment ouverts. Si un document n’a pas été enregistré ou enregistré automatiquement, ReopenPreviousDocuments
ouvre un document vide basé sur le modèle de ce type de fichier.
Pour utiliser cette méthode, AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES doit être défini dans m_dwRestartManagerSupportFlags. Si ce paramètre n’est pas défini, ReopenPreviousDocuments
ne fait rien et retourne FALSE.
S’il n’existe aucun document stocké dans la liste des documents précédemment ouverts, ReopenPreviousDocuments
ne retourne rien et retourne FALSE.
CDataRecoveryHandler ::RestoreAutosavedDocuments
Restaure les documents enregistrés automatiquement en fonction de l’entrée utilisateur.
virtual BOOL RestoreAutosavedDocuments();
Valeur de retour
TRUE si cette méthode restaure correctement les documents.
Notes
Cette méthode appelle CDataRecoveryHandler ::QueryRestoreAutosavedDocuments pour déterminer les documents que l’utilisateur souhaite restaurer. Si un utilisateur décide de ne pas restaurer un document enregistré automatiquement, RestoreAutosavedDocuments
supprime le fichier d’enregistrement automatique. Sinon, RestoreAutosavedDocuments
remplace le document ouvert par la version enregistrée automatiquement.
Pour utiliser cette méthode, AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES ou AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES doit être définie dans m_dwRestartManagerSupportFlags
.
CDataRecoveryHandler ::SaveOpenDocumentList
Enregistre la liste actuelle des documents ouverts dans le Registre Windows.
virtual BOOL SaveOpenDocumentList();
Valeur de retour
TRUE s’il n’y a pas de documents ouverts à enregistrer ou s’ils ont été enregistrés correctement. FALSE s’il existe des documents à enregistrer dans le Registre, mais qu’ils n’ont pas été enregistrés, car une erreur s’est produite.
Notes
Le gestionnaire de redémarrage appelle SaveOpenDocumentList
lorsque l’application se ferme de manière inattendue ou lorsqu’elle quitte pour une mise à niveau. Lorsque l’application redémarre, elle utilise CDataRecoveryHandler ::ReadOpenDocumentList pour récupérer la liste des documents ouverts.
Cette méthode enregistre uniquement la liste des documents ouverts. La méthode CDataRecoveryHandler ::AutosaveDocumentInfo est chargée d’enregistrer les documents eux-mêmes.
CDataRecoveryHandler ::SetAutosaveInterval
Définit le temps entre les cycles d’enregistrement automatique en millisecondes.
Virtual void SetAutosaveInterval(int nAutosaveInterval);
Paramètres
nAutosaveInterval
[in] Nouvel intervalle d’enregistrement automatique en millisecondes.
CDataRecoveryHandler ::SetAutosavePath
Définit le répertoire dans lequel les fichiers enregistrés automatiquement sont stockés.
virtual void SetAutosavePath(const CString& strAutosavePath);
Paramètres
strAutosavePath
[in] Chemin d’accès où sont stockés les fichiers d’enregistrement automatique.
Notes
La modification du répertoire d’enregistrement automatique ne déplace pas les fichiers enregistrés automatiquement.
CDataRecoveryHandler ::SetRestartIdentifier
Définit l’identificateur de redémarrage unique pour cette instance du CDataRecoveryHandler
.
virtual void SetRestartIdentifier(const CString& strRestartIdentifier);
Paramètres
strRestartIdentifier
[in] Identificateur unique du gestionnaire de redémarrage.
Notes
Le gestionnaire de redémarrage enregistre des informations sur les documents ouverts dans le Registre. Ces informations sont stockées avec l’identificateur de redémarrage unique en tant que clé. Étant donné que l’identificateur de redémarrage est unique pour chaque instance d’une application, plusieurs instances d’une application peuvent se quitter de manière inattendue et le gestionnaire de redémarrage peut récupérer chacun d’eux.
CDataRecoveryHandler ::SetSaveDocumentInfoOnIdle
Définit si les CDataRecoveryHandler
informations de document ouvertes sont enregistrées dans le Registre Windows pendant le cycle d’inactivité actuel.
virtual void SetSaveDocumentInfoOnIdle(BOOL bSaveOnIdle);
Paramètres
bSaveOnIdle
[in] TRUE pour enregistrer les informations de document pendant le cycle d’inactivité actuel ; FALSE pour ne pas effectuer d’enregistrement.
CDataRecoveryHandler ::SetShutdownByRestartManager
Définit si la sortie précédente de l’application a été provoquée par le gestionnaire de redémarrage.
virtual void SetShutdownByRestartManager(BOOL bShutdownByRestartManager);
Paramètres
bShutdownByRestartManager
[in] TRUE pour indiquer que le gestionnaire de redémarrage a provoqué la fermeture de l’application ; FALSE pour indiquer que l’application a quitté pour une autre raison.
Notes
Le framework se comporte différemment selon que la sortie précédente était inattendue ou si elle a été lancée par le gestionnaire de redémarrage.
CDataRecoveryHandler ::UpdateDocumentInfo
Met à jour les informations d’un document, car l’utilisateur l’a enregistrée.
virtual BOOL UpdateDocumentInfo(CDocument* pDocument);
Paramètres
pDocument
[in] Pointeur vers le document enregistré.
Valeur de retour
TRUE si cette méthode a supprimé le document enregistré automatiquement et mis à jour les informations du document ; FALSE si une erreur s’est produite.
Notes
Lorsqu’un utilisateur enregistre un document, l’application supprime le fichier enregistré automatiquement, car il n’est plus nécessaire. UpdateDocumentInfo
supprime le fichier enregistré automatiquement en appelant CDataRecoveryHandler ::RemoveDocumentInfo. UpdateDocumentInfo
ajoute ensuite les informations de pDocument à la liste des documents actuellement ouverts, car RemoveDocumentInfo
supprime ces informations, mais le document enregistré est toujours ouvert.
Pour utiliser cette méthode, AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES doit être défini dans m_dwRestartManagerSupportFlags.
Voir aussi
Classes
Graphique hiérarchique
CObject, classe
Guide pratique pour ajouter la prise en charge du Gestionnaire de redémarrage