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_dwRestartManagerSupportFlagsab. 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 Standard Anwendung den entsprechenden Wert zuweisenm_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 CDataRecoveryHandlerpDocument 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 CDocumentMethode 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 CDataRecoveryHandlerAnwendung 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 CDataRecoveryHandlerAnwendung 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_dwRestartManagerSupportFlagsfestgelegt 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