Cdatarecoveryhandler-Klasse

CDataRecoveryHandlerSpeichert Dokumente automatisch und stellt Sie wieder her, 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 Speichert automatisch alle Dateien, die bei der-Klasse registriert sind CDataRecoveryHandler .
Cdatarecoveryhandler:: autosavedocumentinfo Speichert das angegebene Dokument automatisch.
Cdatarecoveryhandler:: kreatedocumentinfo 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 für eine Auto Speichern-Datei, die dem angegebenen Dokument Dateinamen zugeordnet ist.
Cdatarecoveryhandler:: getautosaveinterval Gibt das Intervall zwischen den Auto speichern-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 den Titel für das wiederhergestellte Dokument und gibt diesen zurück.
Cdatarecoveryhandler:: getrestartidentifier Ruft den eindeutigen Neustart Bezeichner für die Anwendung ab.
Cdatarecoveryhandler:: getsavedocumentinfoonidle Gibt an, ob der CDataRecoveryHandler eine automatische Speicherung in der aktuellen Leerlauf Schleife ausführt.
Cdatarecoveryhandler:: getshutdownbyrestartmanager Gibt an, ob der Neustart-Manager das Beenden der Anwendung bewirkt hat.
Cdatarecoveryhandler:: Initialize Initialisiert das CDataRecoveryHandler.
Cdatarecoveryhandler:: queryrestoreautosaveddocuments Zeigt dem Benutzer ein Dialogfeld für jedes Dokument an, das CDataRecoveryHandler automatisch gespeichert wurde. Das Dialogfeld bestimmt, ob der Benutzer das automatisch gespeicherte Dokument wiederherstellen möchte.
Cdatarecoveryhandler:: Read opendocumentlist Lädt die Liste der geöffneten Dokumente aus der Registrierung.
Cdatarecoveryhandler:: removedocumentinfo Entfernt das angegebene Dokument aus der Liste der geöffneten Dokumente.
Cdatarecoveryhandler:: reopenpreviousdocuments Öffnet die zuvor geöffneten Dokumente.
Cdatarecoveryhandler:: restoreautosaveddocuments Stellt die automatisch gespeicherten Dokumente auf der Grundlage von Benutzereingaben wieder her.
Cdatarecoveryhandler:: saveopendocumentlist Speichert die aktuelle Liste der geöffneten Dokumente in der Windows-Registrierung.
Cdatarecoveryhandler:: s. Legt die Zeit zwischen den Auto Speichern-Zyklen in Millisekunden fest.
Cdatarecoveryhandler:: stautosavepath Legt das Verzeichnis fest, in dem automatisch gespeicherte Dateien gespeichert werden.
Cdatarecoveryhandler:: abtrestartidentifier Legt den eindeutigen Neustart Bezeichner für diese Instanz von fest CDataRecoveryHandler .
Cdatarecoveryhandler:: setsavedocumentinfoonidle Legt fest, ob die CDataRecoveryHandler geöffneten Dokument Informationen während des aktuellen Leerlauf Zyklen in der Windows-Registrierung speichert.
Cdatarecoveryhandler:: setshutdownbyrestartmanager Legt fest, ob das vorherige Beenden 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 Datenwiederherstellungs-Handler bereits geöffnete Dokumente erneut öffnet.
m_bSaveDocumentInfoOnIdle Gibt an, ob der Datenwiederherstellungs-Handler Dokumente automatisch in der nächsten Leerlauf Schleife speichert.
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 bietet.
m_lstAutosavesToDelete Eine Liste automatisch gespeicherter Dateien, die nicht gelöscht wurden, als die ursprünglichen Dokumente geschlossen wurden. Wenn die Anwendung beendet wird, versucht der Neustart-Manager erneut, die Dateien zu löschen.
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 wieder hergestellt werden soll.
m_mapDocumentPtrToDocName Eine Zuordnung der CDocument Zeiger auf die Dokumentnamen.
m_mapDocumentPtrToDocTitle Eine Zuordnung der CDocument Zeiger auf die Titel des Dokuments. Diese Titel werden zum Speichern von Dateien verwendet.
m_nAutosaveInterval Zeit in Millisekunden zwischen den autospart.
m_nTimerID Der Bezeichner für den Auto Speichern-Timer.
m_strAutosavePath Der Speicherort, an dem die automatisch gespeicherten Dokumente gespeichert werden.
m_strRestartIdentifier Die Zeichen folgen Darstellung einer GUID für den Neustart-Manager.

Bemerkungen

Der Neustart-Manager verwendet die CDataRecoveryHandler -Klasse, um alle geöffneten Dokumente nachzuverfolgen und Sie nach Bedarf automatisch zu speichern. Verwenden Sie die cdatarecoveryhandler:: setsavedocumentinfoonidle -Methode, um die automatische Speicherung zu aktivieren. Diese Methode weist das CDataRecoveryHandler an, eine automatische Speicherung in der nächsten Leerlauf Schleife auszuführen. Der Neustart-Manager ruft auf, SetSaveDocumentInfoOnIdle Wenn der CDataRecoveryHandler eine automatische Speicherung durchführen soll.

Alle Methoden der- CDataRecoveryHandler Klasse sind virtuell. Überschreiben Sie die Methoden in dieser Klasse, um einen eigenen benutzerdefinierten Datenwiederherstellungs Handler zu erstellen. Instanziieren Sie keinen cdatarecoveryhandler, es sei denn, Sie erstellen einen eigenen Datenwiederherstellungs Handler oder einen Neustart-Manager. Die CWinApp-Klasse erstellt ein- CDataRecoveryHandler Objekt, wie es erforderlich ist.

Bevor Sie ein-Objekt verwenden können CDataRecoveryHandler , muss cdatarecoveryhandler:: Initializeaufgerufen werden.

Da die- CDataRecoveryHandler Klasse eng mit dem Neustart-Manager verbunden ist, CDataRecoveryHandler hängt vom globalen Parameter ab m_dwRestartManagerSupportFlags . Dieser Parameter bestimmt, welche Berechtigungen der Neustart-Manager hat und wie er mit der Anwendung interagiert. Wenn Sie den Neustart-Manager in eine vorhandene Anwendung integrieren möchten, müssen Sie m_dwRestartManagerSupportFlags den entsprechenden Wert im Konstruktor Ihrer Hauptanwendung zuweisen. Weitere Informationen zur Verwendung des Neustart-Managers finden Sie unter Gewusst wie: Hinzufügen der Unterstützungfür den Neustart-Manager.

Anforderungen

Header: afxdatarecovery. h

Cdatarecoveryhandler:: autosavealldocumentinfo

Speichert automatisch alle Dateien, die bei der-Klasse registriert sind CDataRecoveryHandler .

virtual BOOL AutosaveAllDocumentInfo();

Rückgabewert

TRUE, wenn CDataRecoveryHandler alle Dokumente gespeichert wurden. FALSE, wenn ein Dokument nicht gespeichert wurde.

Bemerkungen

Diese Methode gibt true zurück, wenn keine Dokumente gespeichert werden müssen, die gespeichert werden müssen. Es wird auch true zurückgegeben, ohne dass Dokumente gespeichert werden, wenn das Abrufen CWinApp CDocManager von oder 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 in festgelegt werden m_dwRestartManagerSupportFlags . Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen der Unterstützung für den Neustart-Manager.

Cdatarecoveryhandler:: autosavedocumentinfo

Speichert das angegebene Dokument automatisch.

virtual BOOL AutosaveDocumentInfo(
    CDocument* pDocument,
    BOOL bResetModifiedFlag = TRUE);

Parameter

pdocument
in Ein Zeiger auf den CDocument , der gespeichert werden soll.

bresetmodifiedflag
in TRUE gibt an, dass das CDataRecoveryHandler zu ändernde pdocument von berücksichtigt wird. FALSE gibt an, dass das Framework pdocument als nicht geändert ansieht. Weitere Informationen zu den Auswirkungen dieses Flags finden Sie im Abschnitt "Hinweise".

Rückgabewert

TRUE, wenn die entsprechenden Flags festgelegt sind und pdocument ein gültiges CDocument Objekt ist.

Bemerkungen

Jedes- CDocument Objekt verfügt über ein Flag, das angibt, ob es seit der letzten Speicherung geändert wurde. Verwenden Sie CDocument:: IsModified , um den Status dieses Flags zu ermitteln. Wenn ein CDocument seit dem letzten Speichern nicht geändert wurde, werden AutosaveDocumentInfo alle automatisch gespeicherten Dateien für dieses Dokument von gelöscht. Wenn sich das Dokument seit der letzten Speicherung geändert hat, wird der Benutzer vor dem Schließen aufgefordert, das Dokument zu speichern.

Hinweis

Die Verwendung von bresetmodifiedflag zum Ändern des Status des Dokuments in "unverändert" kann dazu führen, dass der Benutzer nicht gespeicherte Daten verliert. Wenn das Framework ein Dokument als nicht geändert betrachtet, wird der Benutzer beim Schließen nicht zum Speichern aufgefordert.

Diese Methode löst eine Ausnahme mit dem Assert -Makro aus, wenn pdocument kein gültiges CDocument Objekt ist.

Um diese Methode zu verwenden, muss entweder 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 für den Neustart-Manager unterstützt werden.

nautosaveingeterval
in Die Zeit zwischen den autospeicherungen. Dieser Parameter ist in Millisekunden angegeben.

Bemerkungen

Das MFC-Framework erstellt automatisch ein- CDataRecoveryHandler Objekt für die Anwendung, wenn Sie den Assistenten für neue Projekte verwenden. Sie sollten kein-Objekt erstellen, es sei denn, Sie passen das Daten Wiederherstellungs Verhalten oder den Neustart-Manager an CDataRecoveryHandler .

Cdatarecoveryhandler:: kreatedocumentinfo

Fügt der Liste der geöffneten Dokumente ein Dokument hinzu.

virtual BOOL CreateDocumentInfo(CDocument* pDocument);

Parameter

pdocument
in Ein Zeiger auf einen CDocument . Diese Methode erstellt die Dokument Informationen für dieses CDocument .

Rückgabewert

Die Standard Implementierung gibt true zurück.

Bemerkungen

Diese Methode überprüft, ob pdocument bereits in der Liste der Dokumente vorhanden ist, bevor das Dokument hinzugefügt wird. 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, muss entweder 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 Standard Implementierung gibt immer true zurück.

Cdatarecoveryhandler::D eleteautosavedfile

Löscht die angegebene automatisch gespeicherte Datei.

virtual BOOL DeleteAutosavedFile(const CString& strAutosavedFile);

Parameter

"strauautosavedfile"
in Eine Zeichenfolge, die den automatisch gespeicherten Dateinamen enthält.

Rückgabewert

Die Standard Implementierung gibt immer true zurück.

Bemerkungen

Wenn diese Methode die automatisch gespeicherte Datei nicht löschen kann, speichert Sie den Namen der Datei in einer Liste. Der Dekonstruktor für den CDataRecoveryHandler versucht, jede automatisch gespeicherte Datei zu löschen, die in der Liste angegeben ist.

Cdatarecoveryhandler:: generateautosavefilename

Generiert den Namen für eine Auto Speichern-Datei, die dem angegebenen Dokument Dateinamen zugeordnet ist.

virtual CString GenerateAutosaveFileName(const CString& strDocumentName) const;

Parameter

"Name"
in Eine Zeichenfolge, die den Dokumentnamen enthält. GenerateAutosaveFileName verwendet diesen Dokumentnamen, um einen entsprechenden Auto Speichern-Dateinamen zu generieren.

Rückgabewert

Der Name der Auto Speichern-Datei, der aus dem Namen "" von "

Bemerkungen

Jeder Dokument Name hat eine eins-zu-Eins-Zuordnung mit einem Auto Speichern-Dateinamen.

Cdatarecoveryhandler:: getautosaveinterval

Gibt das Intervall zwischen den Auto speichern-versuchen zurück.

virtual int GetAutosaveInterval() const;

Rückgabewert

Die Anzahl von Millisekunden zwischen den Auto speichern-versuchen.

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 einen CDocument . GetDocumentListName Ruft den Dokumentnamen aus diesem ab CDocument .

Rückgabewert

Der Dokument Name aus pdocument.

Bemerkungen

Der CDataRecoveryHandler verwendet den Dokumentnamen als Schlüssel in m_mapDocNameToAutosaveName, m_mapDocNameToDocumentPtr und m_mapDocNameToRestoreBool. Dieser Parameter ermöglicht das CDataRecoveryHandler Überwachen von CDocument Objekten, den Namen der Auto Speichern-Datei und die Einstellungen für die automatische Speicherung.

Cdatarecoveryhandler:: getnormaldocumenttitle

Ruft den normalen Titel für das angegebene Dokument ab.

virtual CString GetNormalDocumentTitle(CDocument* pDocument);

Parameter

pdocument
in Ein Zeiger auf einen CDocument .

Rückgabewert

Der normale Titel für das angegebene Dokument.

Bemerkungen

Der normale Titel eines Dokuments ist normalerweise der Dateiname des Dokuments ohne den Pfad. Dies ist der Titel im Feld Dateiname des Dialog Felds Speichern unter.

Cdatarecoveryhandler:: getrecovereddocumenttitle

Erstellt den Titel für das wiederhergestellte Dokument und gibt diesen zurück.

virtual CString GetRecoveredDocumentTitle(const CString& strDocumentTitle) const;

Parameter

"Strauch Titel"
in Der normale Titel des Dokuments.

Rückgabewert

Der wiederhergestellte Dokumenttitel.

Bemerkungen

Standardmäßig ist der wiederhergestellte Titel eines Dokuments der normale Titel, an den [wieder hergestellt] angehängt ist. Der wiederhergestellte Titel wird dem Benutzer angezeigt, wenn der den CDataRecoveryHandler Benutzer abfragt, um automatisch gespeicherte Dokumente wiederherzustellen.

Cdatarecoveryhandler:: getrestartidentifier

Ruft den eindeutigen Neustart Bezeichner für die Anwendung ab.

virtual CString GetRestartIdentifier() const;

Rückgabewert

Der eindeutige Neustart Bezeichner.

Bemerkungen

Der Neustart Bezeichner ist für jede Ausführung der Anwendung eindeutig.

CDataRecoveryHandlerSpeichert Informationen zu den derzeit geöffneten Dokumenten in der Registrierung. Wenn der Neustart-Manager eine Anwendung beendet und neu startet, wird der Neustart Bezeichner für die bereitgestellt CDataRecoveryHandler . CDataRecoveryHandlerVerwendet den Neustart Bezeichner, um die Liste der zuvor geöffneten Dokumente abzurufen. Dadurch kann der CDataRecoveryHandler versuchen, automatisch gespeicherte Dateien zu suchen und wiederherzustellen.

Cdatarecoveryhandler:: getsavedocumentinfoonidle

Gibt an, ob der CDataRecoveryHandler eine automatische Speicherung in der aktuellen Leerlauf Schleife ausführt.

virtual BOOL GetSaveDocumentInfoOnIdle() const;

Rückgabewert

TRUE gibt CDataRecoveryHandler an, dass die automatische Speicherung der aktuellen Leerlauf Schleife ist. FALSE gibt an, dass dies nicht möglich ist.

Cdatarecoveryhandler:: getshutdownbyrestartmanager

Gibt an, ob der Neustart-Manager das Beenden der Anwendung bewirkt hat.

virtual BOOL GetShutdownByRestartManager() const;

Rückgabewert

TRUE gibt an, dass der Neustart-Manager das Beenden der Anwendung bewirkt hat. FALSE gibt an, dass dies nicht möglich war.

Cdatarecoveryhandler:: Initialize

Initialisiert das CDataRecoveryHandler.

virtual BOOL Initialize();

Rückgabewert

TRUE, wenn die Initialisierung erfolgreich ist. andernfalls false.

Bemerkungen

Der Initialisierungs Prozess lädt den Pfad zum Speichern von Dateien für das automatische Speichern aus der Registrierung. Wenn die Initialize Methode dieses Verzeichnis nicht finden kann oder der Pfad NULL ist, Initialize schlägt fehl und gibt zurück FALSE .

Verwenden Sie cdatarecoveryhandler:: setautosavepath , um den Pfad für die automatische Speicherung zu ändern, nachdem die Anwendung die initialisiert hat CDataRecoveryHandler .

Die- Initialize Methode startet außerdem einen Timer, um zu überwachen, wann die nächste automatische Speicherung auftritt. Verwenden Sie cdatarecoveryhandler:: setautosaveinterval , um das Intervall für die automatische Speicherung zu ändern, nachdem die Anwendung die initialisiert hat CDataRecoveryHandler .

Cdatarecoveryhandler:: queryrestoreautosaveddocuments

Zeigt dem Benutzer ein Dialogfeld für jedes Dokument an, das CDataRecoveryHandler automatisch gespeichert wurde. Das Dialogfeld bestimmt, ob der Benutzer das automatisch gespeicherte Dokument wiederherstellen möchte.

virtual void QueryRestoreAutosavedDocuments();

Bemerkungen

Wenn Ihre Anwendung Unicode ist, zeigt diese Methode einen CTaskDialog für den Benutzer an. Andernfalls verwendet das Framework AfxMessageBox , um den Benutzer abzufragen.

Nachdem QueryRestoreAutosavedDocuments alle Antworten vom Benutzer erfasst wurden, werden die Informationen in der Element Variablen m_mapDocNameToRestoreBool gespeichert. Diese Methode stellt die automatisch gespeicherten Dokumente nicht wieder her.

Cdatarecoveryhandler:: Read opendocumentlist

Lädt die Liste der geöffneten Dokumente aus der Registrierung.

virtual BOOL ReadOpenDocumentList();

Rückgabewert

TRUE gibt an, dass ReadOpenDocumentList die Informationen für mindestens ein Dokument aus der Registrierung geladen hat. FALSE gibt an, dass keine Dokument Informationen geladen wurden.

Bemerkungen

Diese Funktion lädt die geöffneten Dokument Informationen aus der Registrierung und speichert Sie in der Element Variablen m_mapDocNameToAutosaveName.

Nachdem ReadOpenDocumentList alle Daten geladen wurden, werden die Dokument Informationen aus der Registrierung gelöscht.

Cdatarecoveryhandler:: removedocumentinfo

Entfernt das angegebene Dokument aus der Liste der geöffneten Dokumente.

virtual BOOL RemoveDocumentInfo(CDocument* pDocument);

Parameter

pdocument
in Ein Zeiger auf das Dokument, das entfernt werden soll.

Rückgabewert

"True", wenn " pdocument " aus der Liste entfernt wurde. FALSE, wenn ein Fehler aufgetreten ist.

Bemerkungen

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 nicht in der Liste der geöffneten Dokumente gefunden werden kann, wird keine Aktion durchführt, und es wird true zurückgegeben.

Um diese Methode verwenden zu können, müssen 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.

Bemerkungen

Diese Methode öffnet das aktuellste Speichern der zuvor geöffneten Dokumente. Wenn ein Dokument nicht gespeichert oder automatisch gespeichert wurde, ReopenPreviousDocuments öffnet ein leeres Dokument auf der Grundlage der Vorlage für diesen Dateityp.

Um diese Methode verwenden zu können, müssen AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES in m_dwRestartManagerSupportFlags festgelegt werden. Wenn dieser Parameter nicht festgelegt ist, ReopenPreviousDocuments führt keine Aktion aus und gibt false zurück.

Wenn in der Liste der zuvor geöffneten Dokumente keine Dokumente gespeichert sind, führt keine Aktion aus ReopenPreviousDocuments und gibt false zurück.

Cdatarecoveryhandler:: restoreautosaveddocuments

Stellt die automatisch gespeicherten Dokumente auf der Grundlage von Benutzereingaben wieder her.

virtual BOOL RestoreAutosavedDocuments();

Rückgabewert

TRUE, wenn diese Methode die Dokumente erfolgreich wiederherstellt.

Bemerkungen

Mit dieser Methode wird cdatarecoveryhandler:: queryrestoreautosaveddocuments aufgerufen, um zu bestimmen, welche Dokumente der Benutzer wiederherstellen möchte. Wenn ein Benutzer entscheidet, ein automatisch gespeichertes Dokument nicht wiederherzustellen, RestoreAutosavedDocuments Löscht die Datei automatisch speichern. Andernfalls RestoreAutosavedDocuments ersetzt 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 festgelegt werden m_dwRestartManagerSupportFlags .

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 zum Speichern vorhanden sind oder wenn Sie erfolgreich gespeichert wurden. FALSE, wenn in der Registrierung Dokumente gespeichert werden sollen, die jedoch nicht gespeichert wurden, weil ein Fehler aufgetreten ist.

Bemerkungen

Der Neustart-Manager ruft SaveOpenDocumentList auf, wenn die Anwendung unerwartet beendet wird oder wenn Sie für ein Upgrade beendet wird. Wenn die Anwendung neu gestartet wird, wird cdatarecoveryhandler:: Read opendocumentlist verwendet, 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:: s.

Legt die Zeit zwischen den Auto Speichern-Zyklen in Millisekunden fest.

Virtual void SetAutosaveInterval(int nAutosaveInterval);

Parameter

nautosaveingeterval
in Das neue automatische Speicher Intervall in Millisekunden.

Cdatarecoveryhandler:: stautosavepath

Legt das Verzeichnis fest, in dem automatisch gespeicherte Dateien gespeichert werden.

virtual void SetAutosavePath(const CString& strAutosavePath);

Parameter

"stranautosavepath"
in Der Pfad, in dem Auto Speichern-Dateien gespeichert werden.

Bemerkungen

Wenn Sie das Verzeichnis "Auto Speichern" ändern, werden die derzeit automatisch gespeicherten Dateien nicht verschoben.

Cdatarecoveryhandler:: abtrestartidentifier

Legt den eindeutigen Neustart Bezeichner für diese Instanz von fest CDataRecoveryHandler .

virtual void SetRestartIdentifier(const CString& strRestartIdentifier);

Parameter

"ertifizierer"
in Der eindeutige Bezeichner für den Neustart-Manager.

Bemerkungen

Der Neustart-Manager zeichnet Informationen zu den geöffneten Dokumenten in der Registrierung auf. Diese Informationen werden mit dem eindeutigen Neustart Bezeichner als Schlüssel gespeichert. Da der Neustart Bezeichner für jede Instanz einer Anwendung eindeutig ist, können mehrere Instanzen einer Anwendung unerwartet beendet werden, und der Neustart-Manager kann die einzelnen Instanzen einer Anwendung wiederherstellen.

Cdatarecoveryhandler:: setsavedocumentinfoonidle

Legt fest, ob die CDataRecoveryHandler geöffneten Dokument Informationen während des aktuellen Leerlauf Zyklen in der Windows-Registrierung speichert.

virtual void SetSaveDocumentInfoOnIdle(BOOL bSaveOnIdle);

Parameter

bsaveonidle
in "True", um Dokument Informationen während des aktuellen Leerlauf Zyklen zu speichern. FALSE, um keine Speicherung auszuführen.

Cdatarecoveryhandler:: setshutdownbyrestartmanager

Legt fest, ob das vorherige Beenden der Anwendung durch den Neustart-Manager verursacht wurde.

virtual void SetShutdownByRestartManager(BOOL bShutdownByRestartManager);

Parameter

bshutdownbyrestartmanager
in TRUE, um anzugeben, dass der Neustart-Manager das Beenden der Anwendung bewirkt hat. FALSE gibt an, dass die Anwendung aus einem anderen Grund beendet wurde.

Bemerkungen

Das Framework verhält sich unterschiedlich, je nachdem, ob der vorherige Exit-Vorgang unerwartet war oder ob er 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 Dokument Informationen aktualisiert hat. FALSE, wenn ein Fehler aufgetreten ist.

Bemerkungen

Wenn ein Benutzer ein Dokument speichert, wird die automatisch gespeicherte Datei von der Anwendung entfernt, da Sie nicht mehr benötigt wird. UpdateDocumentInfo Löscht die automatisch gespeicherte Datei durch Aufrufen von cdatarecoveryhandler:: removedocumentinfo. UpdateDocumentInfo fügt dann die Informationen aus pdocument der Liste der derzeit geöffneten Dokumente hinzu RemoveDocumentInfo , da diese Informationen von gelöscht werden, das gespeicherte Dokument jedoch weiterhin geöffnet ist.

Um diese Methode verwenden zu können, müssen AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES in m_dwRestartManagerSupportFlags festgelegt werden.

Siehe auch

Klassen
Hierarchie Diagramm
CObject-Klasse
Vorgehensweise: Hinzufügen der Unterstützung für Neustart-Manager