CDataRecoveryHandler-Klasse
Die CDataRecoveryHandler
Dokumente werden automatisch gespeichert und wiederhergestellt, wenn eine Anwendung unerwartet beendet wird.
Syntax
class CDataRecoveryHandler : public CObject
Member
Konstruktoren
Name | Beschreibung |
---|---|
CDataRecoveryHandler::CDataRecoveryHandler | Erstellt ein CDataRecoveryHandler -Objekt. |
Methoden
Name | Beschreibung |
---|---|
CDataRecoveryHandler::AutosaveAllDocumentInfo | Automatisches Speichern jeder Datei, die bei der CDataRecoveryHandler Klasse registriert ist. |
CDataRecoveryHandler::AutosaveDocumentInfo | Automatisches Speichern des angegebenen Dokuments. |
CDataRecoveryHandler::CreateDocumentInfo | Fügt der Liste der geöffneten Dokumente ein Dokument hinzu. |
CDataRecoveryHandler::D eleteAllAutosavedFiles | Löscht alle aktuellen automatisch gespeicherten Dateien. |
CDataRecoveryHandler::D eleteAutosavedFile | Löscht die angegebene automatisch gespeicherte Datei. |
CDataRecoveryHandler::GenerateAutosaveFileName | Generiert den Namen einer automatisch gespeicherten Datei, die dem angegebenen Dokumentdateinamen zugeordnet ist. |
CDataRecoveryHandler::GetAutosaveInterval | Gibt das Intervall zwischen autoSpeichern-Versuchen zurück. |
CDataRecoveryHandler::GetAutosavePath | Gibt den Pfad der automatisch gespeicherten Dateien zurück. |
CDataRecoveryHandler::GetDocumentListName | Ruft den Dokumentnamen aus einem CDocument Objekt ab. |
CDataRecoveryHandler::GetNormalDocumentTitle | Ruft den normalen Titel für das angegebene Dokument ab. |
CDataRecoveryHandler::GetRecoveredDocumentTitle | Erstellt und gibt den Titel für das wiederhergestellte Dokument zurück. |
CDataRecoveryHandler::GetRestartIdentifier | Ruft den eindeutigen Neustartbezeichner für die Anwendung ab. |
CDataRecoveryHandler::GetSaveDocumentInfoOnIdle | Gibt an, ob die CDataRecoveryHandler automatische Speicherung in der aktuellen Leerlaufschleife ausgeführt wird. |
CDataRecoveryHandler::GetShutdownByRestartManager | Gibt an, ob der Neustart-Manager dazu führte, dass die Anwendung beendet wurde. |
CDataRecoveryHandler::Initialize | Initialisiert das CDataRecoveryHandler . |
CDataRecoveryHandler::QueryRestoreAutosavedDocuments | Zeigt dem Benutzer für jedes Dokument, das automatisch gespeichert wurde, CDataRecoveryHandler ein Dialogfeld an. Das Dialogfeld bestimmt, ob der Benutzer das automatisch gespeicherte Dokument wiederherstellen möchte. |
CDataRecoveryHandler::ReadOpenDocumentList | Lädt die geöffnete Dokumentliste aus der Registrierung. |
CDataRecoveryHandler::RemoveDocumentInfo | Entfernt das angegebene Dokument aus der geöffneten Dokumentliste. |
CDataRecoveryHandler::ReopenPreviousDocuments | Öffnet die zuvor geöffneten Dokumente. |
CDataRecoveryHandler::RestoreAutosavedDocuments | Stellt die automatisch gespeicherten Dokumente basierend auf der Benutzereingabe wieder her. |
CDataRecoveryHandler::SaveOpenDocumentList | Speichert die aktuelle Liste der geöffneten Dokumente in der Windows-Registrierung. |
CDataRecoveryHandler::SetAutosaveInterval | Legt die Zeit zwischen automatischen Speichern-Zyklen in Millisekunden fest. |
CDataRecoveryHandler::SetAutosavePath | Legt das Verzeichnis fest, in dem automatisch gespeicherte Dateien gespeichert werden. |
CDataRecoveryHandler::SetRestartIdentifier | Legt den eindeutigen Neustartbezeichner für diese Instanz der CDataRecoveryHandler . |
CDataRecoveryHandler::SetSaveDocumentInfoOnIdle | Legt fest, ob die CDataRecoveryHandler geöffneten Dokumentinformationen während des aktuellen Leerlaufzyklus in der Windows-Registrierung gespeichert werden. |
CDataRecoveryHandler::SetShutdownByRestartManager | Legt fest, ob die vorherige Beendigung der Anwendung durch den Neustart-Manager verursacht wurde. |
CDataRecoveryHandler::UpdateDocumentInfo | Aktualisiert die Informationen für ein Dokument, da der Benutzer es gespeichert hat. |
Datenelemente
Name | Beschreibung |
---|---|
m_bRestoringPreviousOpenDocs | Gibt an, ob der Datenwiederherstellungshandler zuvor geöffnete Dokumente erneut öffnet. |
m_bSaveDocumentInfoOnIdle | Gibt an, ob der Datenwiederherstellungshandler Dokumente automatisch in der nächsten Leerlaufschleife gespeichert. |
m_bShutdownByRestartManager | Gibt an, ob der Neustart-Manager bewirkt, dass die Anwendung beendet wird. |
m_dwRestartManagerSupportFlags | Flags, die angeben, welche Unterstützung der Neustart-Manager für die Anwendung bereitstellt. |
m_lstAutosavesToDelete | Eine Liste der automatisch gespeicherten Dateien, die beim Schließen der ursprünglichen Dokumente nicht gelöscht wurden. Wenn die Anwendung beendet wird, wird das Löschen der Dateien durch den Neustart-Manager erneut ausgeführt. |
m_mapDocNameToAutosaveName | Eine Zuordnung der Dokumentnamen zu den automatisch gespeicherten Dateinamen. |
m_mapDocNameToDocumentPtr | Eine Zuordnung der Dokumentnamen zu den CDocument-Zeigern . |
m_mapDocNameToRestoreBool | Eine Zuordnung der Dokumentnamen zu einem booleschen Parameter, der angibt, ob das automatisch gespeicherte Dokument wiederhergestellt werden soll. |
m_mapDocumentPtrToDocName | Eine Zuordnung der CDocument Zeiger zu den Dokumentnamen. |
m_mapDocumentPtrToDocTitle | Eine Karte der CDocument Zeiger auf die Dokumenttitel. Diese Titel werden zum Speichern von Dateien verwendet. |
m_nAutosaveInterval | Zeit in Millisekunden zwischen automatischen Speichern. |
m_nTimerID | Der Bezeichner für den AutoSpeicherzeitgeber. |
m_strAutosavePath | Der Speicherort, an dem die automatisch gespeicherten Dokumente gespeichert werden. |
m_strRestartIdentifier | Die Zeichenfolgendarstellung einer GUID für den Neustart-Manager. |
Hinweise
Der Neustart-Manager verwendet die CDataRecoveryHandler
Klasse, um alle geöffneten Dokumente nachzuverfolgen und bei Bedarf automatisch zu speichern. Verwenden Sie zum Aktivieren des automatischen Speicherns die CDataRecoveryHandler::SetSaveDocumentInfoOnIdle-Methode . Mit dieser Methode wird die CDataRecoveryHandler
Ausführung eines automatischen Speicherns in der nächsten Leerlaufschleife ausgeführt. Der Neustart-Manager ruft auf SetSaveDocumentInfoOnIdle
, wenn das CDataRecoveryHandler
automatische Speichern ausgeführt werden soll.
Alle Methoden der CDataRecoveryHandler
Klasse sind virtuell. Überschreiben Sie die Methoden in dieser Klasse, um einen eigenen benutzerdefinierten Datenwiederherstellungshandler zu erstellen. Wenn Sie keinen eigenen Datenwiederherstellungshandler oder Neustart-Manager erstellen, instanziieren Sie keinen CDataRecoveryHandler. Die CWinApp-Klasse erstellt ein CDataRecoveryHandler
Objekt wie erforderlich.
Bevor Sie ein CDataRecoveryHandler
Objekt verwenden können, müssen Sie CDataRecoveryHandler::Initialize aufrufen.
Da die CDataRecoveryHandler
Klasse eng mit dem Neustart-Manager verbunden ist, CDataRecoveryHandler
hängt sie vom globalen Parameter m_dwRestartManagerSupportFlags
ab. Dieser Parameter bestimmt, welche Berechtigungen der Neustart-Manager hat und wie er mit Ihrer Anwendung interagiert. Um den Neustart-Manager in eine vorhandene Anwendung zu integrieren, müssen Sie dem Konstruktor Ihrer Hauptanwendung den entsprechenden Wert zuweisen m_dwRestartManagerSupportFlags
. Weitere Informationen zur Verwendung des Neustart-Managers finden Sie unter How to: Add Restart Manager Support.
Anforderungen
Header: afxdatarecovery.h
CDataRecoveryHandler::AutosaveAllDocumentInfo
Automatisches Speichern jeder Datei, die bei der CDataRecoveryHandler
Klasse registriert ist.
virtual BOOL AutosaveAllDocumentInfo();
Rückgabewert
TRUE, wenn alle CDataRecoveryHandler
Dokumente gespeichert werden; FALSE, wenn ein Dokument nicht gespeichert wurde.
Hinweise
Diese Methode gibt TRUE zurück, wenn keine Dokumente gespeichert werden müssen. Es gibt auch TRUE zurück, ohne Dokumente zu speichern, wenn die CWinApp
Oder CDocManager
für die Anwendung einen Fehler generiert.
Um diese Methode zu verwenden, muss entweder AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART oder AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL festgelegt werden.m_dwRestartManagerSupportFlags
Weitere Informationen finden Sie unter How to: Add Restart Manager Support.
CDataRecoveryHandler::AutosaveDocumentInfo
Automatisches Speichern des angegebenen Dokuments.
virtual BOOL AutosaveDocumentInfo(
CDocument* pDocument,
BOOL bResetModifiedFlag = TRUE);
Parameter
pDocument
[in] Ein Zeiger auf das CDocument
zu speichernde Element.
bResetModifiedFlag
[in] TRUE gibt an, dass das CDataRecoveryHandler
pDocument geändert wird; FALSE gibt an, dass das Framework pDocument als unverändert betrachtet. Weitere Informationen zum Effekt dieser Kennzeichnung finden Sie im Abschnitt "Hinweise".
Rückgabewert
TRUE, wenn die entsprechenden Flags festgelegt sind und pDocument ein gültiges CDocument
Objekt ist.
Hinweise
Jedes CDocument
Objekt weist ein Flag auf, das angibt, ob es sich seit dem letzten Speichern geändert hat. Verwenden Sie CDocument::IsModified , um den Status dieses Flags zu bestimmen. Wenn sich ein Element CDocument
seit dem letzten Speichern nicht geändert hat, AutosaveDocumentInfo
werden alle automatisch gespeicherten Dateien für dieses Dokument gelöscht. Wenn sich ein Dokument seit dem letzten Speichern geändert hat, fordert es den Benutzer auf, das Dokument vor dem Schließen zu speichern.
Hinweis
Die Verwendung von "bResetModifiedFlag " zum Ändern des Status des Dokuments in "unmodified" kann dazu führen, dass der Benutzer nicht gespeicherte Daten verliert. Wenn das Framework ein Dokument als unverändert betrachtet, fordert es den Benutzer nicht auf, es zu speichern.
Diese Methode löst eine Ausnahme mit dem ASSERT-Makro aus, wenn pDocument kein gültiges CDocument
Objekt ist.
Um diese Methode zu verwenden, müssen AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART oder AFX_RESTARTMANAGER_AUTOSAVE_AT_INTERVAL in m_dwRestartManagerSupportFlags festgelegt werden.
CDataRecoveryHandler::CDataRecoveryHandler
Erstellt ein CDataRecoveryHandler
-Objekt.
CDataRecoveryHandler(
DWORD dwRestartManagerSupportFlags,
int nAutosaveInterval);
Parameter
dwRestartManagerSupportFlags
[in] Gibt an, welche Optionen des Neustart-Managers unterstützt werden.
nAutosaveInterval
[in] Die Zeit zwischen automatischen Speichern. Dieser Parameter ist in Millisekunden enthalten.
Hinweise
Das MFC-Framework erstellt automatisch ein CDataRecoveryHandler
Objekt für Ihre Anwendung, wenn Sie den Assistenten "Neues Projekt " verwenden. Sofern Sie nicht das Verhalten der Datenwiederherstellung oder den Neustart-Manager anpassen, sollten Sie kein Objekt erstellen CDataRecoveryHandler
.
CDataRecoveryHandler::CreateDocumentInfo
Fügt der Liste der geöffneten Dokumente ein Dokument hinzu.
virtual BOOL CreateDocumentInfo(CDocument* pDocument);
Parameter
pDocument
[in] Ein Zeiger auf ein CDocument
. Mit dieser Methode werden die Dokumentinformationen für diese CDocument
Methode erstellt.
Rückgabewert
Die Standardimplementierung gibt TRUE zurück.
Hinweise
Diese Methode überprüft, ob pDocument bereits in der Liste der Dokumente enthalten ist, bevor es das Dokument hinzufügt. Wenn sich pDocument bereits in der Liste befindet, löscht diese Methode die automatisch gespeicherte Datei, die pDocument zugeordnet ist.
Um diese Methode zu verwenden, müssen AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART oder AFX_RESTARTMANAGER_AUTOSAVE_AT_INTERVAL in m_dwRestartManagerSupportFlags festgelegt werden.
CDataRecoveryHandler::D eleteAllAutosavedFiles
Löscht alle aktuellen automatisch gespeicherten Dateien.
virtual BOOL DeleteAllAutosavedFiles();
Rückgabewert
Die Standardimplementierung gibt immer TRUE zurück.
CDataRecoveryHandler::D eleteAutosavedFile
Löscht die angegebene automatisch gespeicherte Datei.
virtual BOOL DeleteAutosavedFile(const CString& strAutosavedFile);
Parameter
strAutosavedFile
[in] Eine Zeichenfolge, die den automatisch gespeicherten Dateinamen enthält.
Rückgabewert
Die Standardimplementierung gibt immer TRUE zurück.
Hinweise
Wenn diese Methode die automatisch gespeicherte Datei nicht löschen kann, wird der Name der Datei in einer Liste gespeichert. Der Destruktor für die CDataRecoveryHandler
Versuche, jede in dieser Liste angegebene automatisch gespeicherte Datei zu löschen.
CDataRecoveryHandler::GenerateAutosaveFileName
Generiert den Namen einer automatisch gespeicherten Datei, die dem angegebenen Dokumentdateinamen zugeordnet ist.
virtual CString GenerateAutosaveFileName(const CString& strDocumentName) const;
Parameter
strDocumentName
[in] Eine Zeichenfolge, die den Dokumentnamen enthält. GenerateAutosaveFileName
verwendet diesen Dokumentnamen, um einen entsprechenden Dateinamen für das automatische Speichern zu generieren.
Rückgabewert
Der automatisch gespeicherte Dateiname, der von strDocumentName generiert wurde.
Hinweise
Jeder Dokumentname weist eine 1:1-Zuordnung mit einem automatisch gespeicherten Dateinamen auf.
CDataRecoveryHandler::GetAutosaveInterval
Gibt das Intervall zwischen autoSpeichern-Versuchen zurück.
virtual int GetAutosaveInterval() const;
Rückgabewert
Die Anzahl der Millisekunden zwischen automatischen Speichern versucht.
CDataRecoveryHandler::GetAutosavePath
Gibt den Pfad der automatisch gespeicherten Dateien zurück.
virtual CString GetAutosavePath() const;
Rückgabewert
Der Speicherort, an dem die automatisch gespeicherten Dokumente gespeichert werden.
CDataRecoveryHandler::GetDocumentListName
Ruft den Dokumentnamen aus einem CDocument
Objekt ab.
virtual CString GetDocumentListName(CDocument* pDocument) const;
Parameter
pDocument
[in] Ein Zeiger auf ein CDocument
. GetDocumentListName
Ruft den Dokumentnamen aus diesem CDocument
.
Rückgabewert
Der Dokumentname aus pDocument.
Hinweise
Der CDataRecoveryHandler
Dokumentname wird als Schlüssel in m_mapDocNameToAutosaveName, m_mapDocNameToDocumentPtr und m_mapDocNameToRestoreBool verwendet. Mit diesem Parameter können CDataRecoveryHandler
Objekte, der Dateiname des automatischen Speicherns und die Einstellungen für das automatische Speichern überwacht CDocument
werden.
CDataRecoveryHandler::GetNormalDocumentTitle
Ruft den normalen Titel für das angegebene Dokument ab.
virtual CString GetNormalDocumentTitle(CDocument* pDocument);
Parameter
pDocument
[in] Ein Zeiger auf ein CDocument
.
Rückgabewert
Der normale Titel für das angegebene Dokument.
Hinweise
Der normale Titel eines Dokuments ist in der Regel der Dateiname des Dokuments ohne den Pfad. Dies ist der Titel im Feld "Dateiname " des Dialogfelds "Speichern unter ".
CDataRecoveryHandler::GetRecoveredDocumentTitle
Erstellt und gibt den Titel für das wiederhergestellte Dokument zurück.
virtual CString GetRecoveredDocumentTitle(const CString& strDocumentTitle) const;
Parameter
strDocumentTitle
[in] Der normale Titel für das Dokument.
Rückgabewert
Der wiederhergestellte Dokumenttitel.
Hinweise
Standardmäßig ist der wiederhergestellte Titel eines Dokuments der normale Titel, an den [wiederhergestellt] angefügt wurde. Der wiederhergestellte Titel wird dem Benutzer angezeigt, wenn der CDataRecoveryHandler
Benutzer auffordert, automatisch gespeicherte Dokumente wiederherzustellen.
CDataRecoveryHandler::GetRestartIdentifier
Ruft den eindeutigen Neustartbezeichner für die Anwendung ab.
virtual CString GetRestartIdentifier() const;
Rückgabewert
Der eindeutige Neustartbezeichner.
Hinweise
Der Neustartbezeichner ist für jede Ausführung der Anwendung eindeutig.
Die CDataRecoveryHandler
Speichert Informationen in der Registrierung zu den aktuell geöffneten Dokumenten. Wenn der Neustart-Manager eine Anwendung beendet und neu startet, stellt er den Neustartbezeichner für die CDataRecoveryHandler
. Der CDataRecoveryHandler
Neustartbezeichner wird verwendet, um die Liste der zuvor geöffneten Dokumente abzurufen. Auf diese Weise CDataRecoveryHandler
können Sie versuchen, automatisch gespeicherte Dateien zu suchen und wiederherzustellen.
CDataRecoveryHandler::GetSaveDocumentInfoOnIdle
Gibt an, ob die CDataRecoveryHandler
automatische Speicherung in der aktuellen Leerlaufschleife ausgeführt wird.
virtual BOOL GetSaveDocumentInfoOnIdle() const;
Rückgabewert
TRUE gibt die CDataRecoveryHandler
autosaves in der aktuellen Leerlaufschleife an; FALSE gibt an, dass dies nicht der Fall ist.
CDataRecoveryHandler::GetShutdownByRestartManager
Gibt an, ob der Neustart-Manager dazu führte, dass die Anwendung beendet wurde.
virtual BOOL GetShutdownByRestartManager() const;
Rückgabewert
TRUE gibt an, dass der Neustart-Manager dazu führte, dass die Anwendung beendet wurde; FALSCH gibt an, dass sie nicht funktioniert hat.
CDataRecoveryHandler::Initialize
Initialisiert das CDataRecoveryHandler
.
virtual BOOL Initialize();
Rückgabewert
TRUE, wenn die Initialisierung erfolgreich ist; andernfalls FALSE.
Hinweise
Der Initialisierungsprozess lädt den Pfad zum Speichern von automatisch gespeicherten Dateien aus der Registrierung. Wenn die Initialize
Methode dieses Verzeichnis nicht finden kann oder der Pfad NULL ist, Initialize
schlägt fehl und gibt diese zurück FALSE
.
Verwenden Sie CDataRecoveryHandler::SetAutosavePath , um den AutoSpeicherpfad nach der Initialisierung der CDataRecoveryHandler
Anwendung zu ändern.
Die Initialize
Methode startet auch einen Timer, um zu überwachen, wann das nächste automatische Speichern auftritt. Verwenden Sie CDataRecoveryHandler::SetAutosaveInterval , um das Intervall für das automatische Speichern nach der Initialisierung der CDataRecoveryHandler
Anwendung zu ändern.
CDataRecoveryHandler::QueryRestoreAutosavedDocuments
Zeigt dem Benutzer für jedes Dokument, das automatisch gespeichert wurde, CDataRecoveryHandler
ein Dialogfeld an. Das Dialogfeld bestimmt, ob der Benutzer das automatisch gespeicherte Dokument wiederherstellen möchte.
virtual void QueryRestoreAutosavedDocuments();
Hinweise
Wenn Ihre Anwendung Unicode ist, zeigt diese Methode dem Benutzer ein CTaskDialog an. Andernfalls verwendet das Framework AfxMessageBox , um den Benutzer abzufragen.
Nachdem QueryRestoreAutosavedDocuments
alle Antworten des Benutzers gesammelt wurden, werden die Informationen in der Membervariablen m_mapDocNameToRestoreBool gespeichert. Diese Methode stellt die automatisch gespeicherten Dokumente nicht wieder her.
CDataRecoveryHandler::ReadOpenDocumentList
Lädt die geöffnete Dokumentliste aus der Registrierung.
virtual BOOL ReadOpenDocumentList();
Rückgabewert
TRUE gibt an, dass ReadOpenDocumentList
die Informationen für mindestens ein Dokument aus der Registrierung geladen wurden; FALSE gibt an, dass keine Dokumentinformationen geladen wurden.
Hinweise
Diese Funktion lädt die geöffneten Dokumentinformationen aus der Registrierung und speichert sie in der Membervariable m_mapDocNameToAutosaveName.
Nachdem ReadOpenDocumentList
alle Daten geladen wurden, werden die Dokumentinformationen aus der Registrierung gelöscht.
CDataRecoveryHandler::RemoveDocumentInfo
Entfernt das angegebene Dokument aus der geöffneten Dokumentliste.
virtual BOOL RemoveDocumentInfo(CDocument* pDocument);
Parameter
pDocument
[in] Ein Zeiger auf das zu entfernende Dokument.
Rückgabewert
TRUE, wenn pDocument aus der Liste entfernt wurde; FALSE, wenn ein Fehler aufgetreten ist.
Hinweise
Wenn der Benutzer ein Dokument schließt, verwendet das Framework diese Methode, um es aus der Liste der geöffneten Dokumente zu entfernen.
Wenn RemoveDocumentInfo
"pDocument" in der Liste der geöffneten Dokumente nicht gefunden wird, wird nichts ausgeführt und WAHR zurückgegeben.
Um diese Methode zu verwenden, muss AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES in m_dwRestartManagerSupportFlags festgelegt werden.
CDataRecoveryHandler::ReopenPreviousDocuments
Öffnet die zuvor geöffneten Dokumente.
virtual BOOL ReopenPreviousDocuments();
Rückgabewert
TRUE, wenn mindestens ein Dokument geöffnet wurde; andernfalls FALSE.
Hinweise
Diese Methode öffnet das neueste Speichern der zuvor geöffneten Dokumente. Wenn ein Dokument nicht gespeichert oder automatisch gespeichert wurde, ReopenPreviousDocuments
wird ein leeres Dokument basierend auf der Vorlage für diesen Dateityp geöffnet.
Um diese Methode zu verwenden, muss AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES in m_dwRestartManagerSupportFlags festgelegt werden. Wenn dieser Parameter nicht festgelegt ist, ReopenPreviousDocuments
wird nichts ausgeführt und FALSE zurückgegeben.
Wenn in der Liste der zuvor geöffneten Dokumente keine Dokumente gespeichert sind, ReopenPreviousDocuments
wird nichts ausgeführt und FALSCH zurückgegeben.
CDataRecoveryHandler::RestoreAutosavedDocuments
Stellt die automatisch gespeicherten Dokumente basierend auf der Benutzereingabe wieder her.
virtual BOOL RestoreAutosavedDocuments();
Rückgabewert
TRUE, wenn diese Methode die Dokumente erfolgreich wiederherstellen.
Hinweise
Diese Methode ruft CDataRecoveryHandler::QueryRestoreAutosavedDocuments auf, um zu bestimmen, welche Dokumente der Benutzer wiederherstellen möchte. Wenn ein Benutzer entscheidet, ein automatisch gespeichertes Dokument nicht wiederherzustellen, RestoreAutosavedDocuments
wird die datei automatisch gespeichert. RestoreAutosavedDocuments
Ersetzen Sie andernfalls das geöffnete Dokument durch die automatisch gespeicherte Version.
Um diese Methode zu verwenden, muss entweder AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES oder AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES in m_dwRestartManagerSupportFlags
festgelegt werden.
CDataRecoveryHandler::SaveOpenDocumentList
Speichert die aktuelle Liste der geöffneten Dokumente in der Windows-Registrierung.
virtual BOOL SaveOpenDocumentList();
Rückgabewert
TRUE, wenn keine geöffneten Dokumente gespeichert werden sollen oder wenn sie erfolgreich gespeichert wurden. FALSE, wenn Dokumente in der Registrierung gespeichert werden sollen, sie wurden jedoch nicht gespeichert, da ein Fehler aufgetreten ist.
Hinweise
Der Neustart-Manager ruft auf SaveOpenDocumentList
, wenn die Anwendung unerwartet beendet wird oder wenn sie für ein Upgrade beendet wird. Wenn die Anwendung neu gestartet wird, verwendet sie CDataRecoveryHandler::ReadOpenDocumentList , um die Liste der geöffneten Dokumente abzurufen.
Diese Methode speichert nur die Liste der geöffneten Dokumente. Die Methode CDataRecoveryHandler::AutosaveDocumentInfo ist für das Speichern der Dokumente selbst verantwortlich.
CDataRecoveryHandler::SetAutosaveInterval
Legt die Zeit zwischen automatischen Speichern-Zyklen in Millisekunden fest.
Virtual void SetAutosaveInterval(int nAutosaveInterval);
Parameter
nAutosaveInterval
[in] Das neue automatische Speichern-Intervall in Millisekunden.
CDataRecoveryHandler::SetAutosavePath
Legt das Verzeichnis fest, in dem automatisch gespeicherte Dateien gespeichert werden.
virtual void SetAutosavePath(const CString& strAutosavePath);
Parameter
strAutosavePath
[in] Der Pfad, in dem automatisch gespeicherte Dateien gespeichert werden.
Hinweise
Durch das Ändern des automatisch gespeicherten Verzeichnisses werden derzeit automatisch gespeicherte Dateien nicht verschoben.
CDataRecoveryHandler::SetRestartIdentifier
Legt den eindeutigen Neustartbezeichner für diese Instanz der CDataRecoveryHandler
.
virtual void SetRestartIdentifier(const CString& strRestartIdentifier);
Parameter
strRestartIdentifier
[in] Der eindeutige Bezeichner für den Neustart-Manager.
Hinweise
Der Neustart-Manager zeichnet Informationen zu den geöffneten Dokumenten in der Registrierung auf. Diese Informationen werden mit dem eindeutigen Neustartbezeichner als Schlüssel gespeichert. Da der Neustartbezeichner für jede Instanz einer Anwendung eindeutig ist, können mehrere Instanzen einer Anwendung unerwartet beendet werden, und der Neustart-Manager kann jede davon wiederherstellen.
CDataRecoveryHandler::SetSaveDocumentInfoOnIdle
Legt fest, ob die CDataRecoveryHandler
geöffneten Dokumentinformationen während des aktuellen Leerlaufzyklus in der Windows-Registrierung gespeichert werden.
virtual void SetSaveDocumentInfoOnIdle(BOOL bSaveOnIdle);
Parameter
bSaveOnIdle
[in] TRUE zum Speichern von Dokumentinformationen während des aktuellen Leerlaufzyklus; FALSE, um keinen Speichervorgang auszuführen.
CDataRecoveryHandler::SetShutdownByRestartManager
Legt fest, ob die vorherige Beendigung der Anwendung durch den Neustart-Manager verursacht wurde.
virtual void SetShutdownByRestartManager(BOOL bShutdownByRestartManager);
Parameter
bShutdownByRestartManager
[in] TRUE, um anzugeben, dass der Neustart-Manager die Anwendung beendet hat; FALSE, um anzugeben, dass die Anwendung aus einem anderen Grund beendet wurde.
Hinweise
Das Framework verhält sich anders, je nachdem, ob das vorherige Beenden unerwartet war oder ob es vom Neustart-Manager initiiert wurde.
CDataRecoveryHandler::UpdateDocumentInfo
Aktualisiert die Informationen für ein Dokument, da der Benutzer es gespeichert hat.
virtual BOOL UpdateDocumentInfo(CDocument* pDocument);
Parameter
pDocument
[in] Ein Zeiger auf das gespeicherte Dokument.
Rückgabewert
TRUE, wenn diese Methode das automatisch gespeicherte Dokument gelöscht und die Dokumentinformationen aktualisiert hat; FALSE, wenn ein Fehler aufgetreten ist.
Hinweise
Wenn ein Benutzer ein Dokument speichert, entfernt die Anwendung die automatisch gespeicherte Datei, da sie nicht mehr benötigt wird. UpdateDocumentInfo
löscht die automatisch gespeicherte Datei durch Aufrufen von CDataRecoveryHandler::RemoveDocumentInfo. UpdateDocumentInfo
anschließend werden die Informationen aus pDocument zur Liste der aktuell geöffneten Dokumente hinzugefügt, da RemoveDocumentInfo
diese Informationen gelöscht werden, das gespeicherte Dokument aber weiterhin geöffnet ist.
Um diese Methode zu verwenden, muss AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES in m_dwRestartManagerSupportFlags festgelegt werden.
Siehe auch
Klassen
Hierarchiediagramm
CObject-Klasse
Vorgehensweise: Hinzufügen von Unterstützung für den Neustart-Manager