Klasa CDataRecoveryHandler
Automatycznie CDataRecoveryHandler
zapisuje dokumenty i przywraca je, jeśli aplikacja nieoczekiwanie zakończy działanie.
Składnia
class CDataRecoveryHandler : public CObject
Elementy członkowskie
Konstruktory
Nazwa/nazwisko | opis |
---|---|
CDataRecoveryHandler::CDataRecoveryHandler | CDataRecoveryHandler Tworzy obiekt. |
Metody
Nazwa/nazwisko | opis |
---|---|
CDataRecoveryHandler::AutosaveAllDocumentInfo | Automatycznie zapisuje każdy plik zarejestrowany w CDataRecoveryHandler klasie . |
CDataRecoveryHandler::AutosaveDocumentInfo | Automatycznie zapisuje określony dokument. |
CDataRecoveryHandler::CreateDocumentInfo | Dodaje dokument do listy otwartych dokumentów. |
CDataRecoveryHandler::D eleteAllAutosavedFiles | Usuwa wszystkie bieżące automatycznie zapisane pliki. |
CDataRecoveryHandler::D eleteAutosavedFile | Usuwa określony automatycznie zapisany plik. |
CDataRecoveryHandler::GenerateAutosaveFileName | Generuje nazwę pliku autozapisu skojarzonego z podaną nazwą pliku dokumentu. |
CDataRecoveryHandler::GetAutosaveInterval | Zwraca interwał między automatycznymi próbami. |
CDataRecoveryHandler::GetAutosavePath | Zwraca ścieżkę automatycznie zapisanych plików. |
CDataRecoveryHandler::GetDocumentListName | Pobiera nazwę dokumentu z CDocument obiektu. |
CDataRecoveryHandler::GetNormalDocumentTitle | Pobiera normalny tytuł określonego dokumentu. |
CDataRecoveryHandler::GetRecoveredDocumentTitle | Tworzy i zwraca tytuł odzyskanego dokumentu. |
CDataRecoveryHandler::GetRestartIdentifier | Pobiera unikatowy identyfikator ponownego uruchomienia aplikacji. |
CDataRecoveryHandler::GetSaveDocumentInfoOnIdle | Wskazuje, czy CDataRecoveryHandler funkcja wykonuje automatyczne zapisywanie w bieżącej pętli bezczynności. |
CDataRecoveryHandler::GetShutdownByRestartManager | Wskazuje, czy menedżer ponownego uruchamiania spowodował zamknięcie aplikacji. |
CDataRecoveryHandler::Initialize | Inicjuje element CDataRecoveryHandler . |
CDataRecoveryHandler::QueryRestoreAutosavedDocuments | Wyświetla użytkownikowi okno dialogowe dla każdego dokumentu, który CDataRecoveryHandler został zapisany automatycznie. Okno dialogowe określa, czy użytkownik chce przywrócić automatycznie zapisany dokument. |
CDataRecoveryHandler::ReadOpenDocumentList | Ładuje otwartą listę dokumentów z rejestru. |
CDataRecoveryHandler::RemoveDocumentInfo | Usuwa podany dokument z otwartej listy dokumentów. |
CDataRecoveryHandler::ReopenPreviousDocuments | Otwiera wcześniej otwarte dokumenty. |
CDataRecoveryHandler::RestoreAutosavedDocuments | Przywraca automatycznie zapisanych dokumentów na podstawie danych wejściowych użytkownika. |
CDataRecoveryHandler::SaveOpenDocumentList | Zapisuje bieżącą listę otwartych dokumentów w rejestrze systemu Windows. |
CDataRecoveryHandler::SetAutosaveInterval | Ustawia czas między cyklami autozapisu w milisekundach. |
CDataRecoveryHandler::SetAutosavePath | Ustawia katalog, w którym są przechowywane automatycznie zapisane pliki. |
CDataRecoveryHandler::SetRestartIdentifier | Ustawia unikatowy identyfikator ponownego uruchamiania dla tego wystąpienia klasy CDataRecoveryHandler . |
CDataRecoveryHandler::SetSaveDocumentInfoOnIdle | Określa, CDataRecoveryHandler czy program zapisuje informacje o otwartym dokumencie w rejestrze systemu Windows podczas bieżącego cyklu bezczynności. |
CDataRecoveryHandler::SetShutdownByRestartManager | Określa, czy poprzednie zakończenie aplikacji zostało spowodowane przez menedżera ponownego uruchamiania. |
CDataRecoveryHandler::UpdateDocumentInfo | Aktualizuje informacje o dokumencie, ponieważ użytkownik go zapisał. |
Składowe danych
Nazwa/nazwisko | opis |
---|---|
m_bRestoringPreviousOpenDocs | Wskazuje, czy program obsługi odzyskiwania danych otwiera wcześniej otwarte dokumenty. |
m_bSaveDocumentInfoOnIdle | Wskazuje, czy program obsługi odzyskiwania danych automatycznie zapisuje dokumenty w następnej pętli bezczynności. |
m_bShutdownByRestartManager | Wskazuje, czy menedżer ponownego uruchamiania powoduje zakończenie działania aplikacji. |
m_dwRestartManagerSupportFlags | Flagi wskazujące obsługę menedżera ponownego uruchamiania dla aplikacji. |
m_lstAutosavesToDelete | Lista automatycznie zapisanych plików, które nie zostały usunięte po zamknięciu oryginalnych dokumentów. Po zakończeniu działania aplikacji menedżer ponownego uruchamiania ponawia próbę usunięcia plików. |
m_mapDocNameToAutosaveName | Mapa nazw dokumentów z automatycznie zapisanymi nazwami plików. |
m_mapDocNameToDocumentPtr | Mapa nazw dokumentów do wskaźników CDocument . |
m_mapDocNameToRestoreBool | Mapa nazw dokumentów do parametru logicznego, który wskazuje, czy przywrócić automatycznie zapisany dokument. |
m_mapDocumentPtrToDocName | Mapa CDocument wskaźników do nazw dokumentów. |
m_mapDocumentPtrToDocTitle | Mapa CDocument wskaźników do tytułów dokumentów. Te tytuły są używane do zapisywania plików. |
m_nAutosaveInterval | Czas w milisekundach między autozapisami. |
m_nTimerID | Identyfikator czasomierza automatycznego. |
m_strAutosavePath | Lokalizacja, w której są przechowywane automatycznie zapisane dokumenty. |
m_strRestartIdentifier | Ciąg reprezentujący identyfikator GUID menedżera ponownego uruchamiania. |
Uwagi
Menedżer ponownego uruchamiania CDataRecoveryHandler
używa klasy , aby śledzić wszystkie otwarte dokumenty i automatycznie je w razie potrzeby zapisać. Aby włączyć automatyczne zapisywanie, użyj metody CDataRecoveryHandler::SetSaveDocumentInfoOnIdle . Ta metoda kieruje metodę CDataRecoveryHandler
do wykonania autozapisu w następnej pętli bezczynności. Menedżer ponownego uruchamiania wywołuje SetSaveDocumentInfoOnIdle
funkcję , gdy CDataRecoveryHandler
program powinien wykonać autozapis.
Wszystkie metody CDataRecoveryHandler
klasy są wirtualne. Zastąpij metody w tej klasie, aby utworzyć własną niestandardową procedurę obsługi odzyskiwania danych. Jeśli nie tworzysz własnego programu obsługi odzyskiwania danych lub menedżera ponownego uruchamiania, nie należy tworzyć wystąpienia programu CDataRecoveryHandler. Klasa CWinApp tworzy obiekt zgodnie z CDataRecoveryHandler
wymaganiami.
Aby można było użyć obiektu, należy wywołać metodę CDataRecoveryHandler
CDataRecoveryHandler::Initialize.
CDataRecoveryHandler
Ponieważ klasa jest ściśle połączona z menedżerem ponownego uruchamiania, CDataRecoveryHandler
zależy od parametru m_dwRestartManagerSupportFlags
globalnego . Ten parametr określa, jakie uprawnienia ma menedżer ponownego uruchamiania i jak współdziała z aplikacją. Aby włączyć menedżera ponownego uruchamiania do istniejącej aplikacji, musisz przypisać m_dwRestartManagerSupportFlags
odpowiednią wartość w konstruktorze głównej aplikacji. Aby uzyskać więcej informacji na temat korzystania z menedżera ponownego uruchamiania, zobacz Instrukcje: Dodawanie obsługi menedżera ponownego uruchamiania.
Wymagania
Nagłówek: afxdatarecovery.h
CDataRecoveryHandler::AutosaveAllDocumentInfo
Automatycznie zapisuje każdy plik zarejestrowany w CDataRecoveryHandler
klasie .
virtual BOOL AutosaveAllDocumentInfo();
Wartość zwracana
WARTOŚĆ TRUE, jeśli zapisano CDataRecoveryHandler
wszystkie dokumenty; FAŁSZ, jeśli jakikolwiek dokument nie został zapisany.
Uwagi
Ta metoda zwraca wartość TRUE, jeśli nie ma żadnych dokumentów, które muszą zostać zapisane. Zwraca również wartość TRUE bez zapisywania dokumentów, jeśli pobieranie CWinApp
elementu lub CDocManager
dla aplikacji powoduje wygenerowanie błędu.
Aby użyć tej metody, należy ustawić AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART lub AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL w pliku m_dwRestartManagerSupportFlags
. Aby uzyskać więcej informacji, zobacz Instrukcje: Dodawanie obsługi menedżera ponownego uruchamiania.
CDataRecoveryHandler::AutosaveDocumentInfo
Automatycznie zapisuje określony dokument.
virtual BOOL AutosaveDocumentInfo(
CDocument* pDocument,
BOOL bResetModifiedFlag = TRUE);
Parametry
dokument pDocument
[in] Wskaźnik do CDocument
zapisania.
bResetModifiedFlag
[in] Wartość TRUE wskazuje, że CDataRecoveryHandler
dokument pDocument ma zostać zmodyfikowany; FALSE wskazuje, że struktura uważa, że dokument pDocument ma być niezmodyfikowany. Aby uzyskać więcej informacji na temat efektu tej flagi, zobacz sekcję Uwagi.
Wartość zwracana
Wartość TRUE, jeśli są ustawione odpowiednie flagi, a element pDocument jest prawidłowym CDocument
obiektem.
Uwagi
Każdy CDocument
obiekt ma flagę wskazującą, czy została zmieniona od ostatniego zapisu. Użyj CDocument::IsModified , aby określić stan tej flagi. CDocument
Jeśli obiekt nie zmienił się od ostatniego zapisu, AutosaveDocumentInfo
usuwa wszystkie automatycznie zapisane pliki dla tego dokumentu. Jeśli dokument został zmieniony od ostatniego zapisu, zamknięcie go powoduje wyświetlenie monitu użytkownika o zapisanie dokumentu przed zamknięciem.
Uwaga
Użycie elementu bResetModifiedFlag w celu zmiany stanu dokumentu na niezmodyfikowane może spowodować utratę niezapisanych danych przez użytkownika. Jeśli struktura uzna dokument za niezmodyfikowany, zamknięcie go nie spowoduje monitu użytkownika o zapisanie.
Ta metoda zgłasza wyjątek z makrem ASSERT , jeśli plik pDocument nie jest prawidłowym CDocument
obiektem.
Aby użyć tej metody, należy ustawić AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART lub AFX_RESTARTMANAGER_AUTOSAVE_AT_INTERVAL w m_dwRestartManagerSupportFlags.
CDataRecoveryHandler::CDataRecoveryHandler
CDataRecoveryHandler
Tworzy obiekt.
CDataRecoveryHandler(
DWORD dwRestartManagerSupportFlags,
int nAutosaveInterval);
Parametry
dwRestartManagerSupportFlags
[in] Wskazuje, które opcje menedżera ponownego uruchamiania są obsługiwane.
nAutosaveInterval
[in] Czas między autozapisami. Ten parametr jest wyrażony w milisekundach.
Uwagi
Platforma MFC automatycznie tworzy CDataRecoveryHandler
obiekt dla aplikacji podczas korzystania z kreatora Nowy projekt . Jeśli nie dostosowujesz zachowania odzyskiwania danych lub menedżera ponownego uruchamiania CDataRecoveryHandler
, nie należy tworzyć obiektu.
CDataRecoveryHandler::CreateDocumentInfo
Dodaje dokument do listy otwartych dokumentów.
virtual BOOL CreateDocumentInfo(CDocument* pDocument);
Parametry
dokument pDocument
[in] Wskaźnik do .CDocument
Ta metoda tworzy informacje o dokumencie dla tego elementu CDocument
.
Wartość zwracana
Domyślna implementacja zwraca wartość TRUE.
Uwagi
Ta metoda sprawdza, czy dokument pDocument znajduje się już na liście dokumentów przed dodaniu dokumentu. Jeśli dokument pDocument znajduje się już na liście, ta metoda usuwa automatycznie zapisany plik skojarzony z dokumentem pDocument.
Aby użyć tej metody, należy ustawić AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART lub AFX_RESTARTMANAGER_AUTOSAVE_AT_INTERVAL w m_dwRestartManagerSupportFlags.
CDataRecoveryHandler::D eleteAllAutosavedFiles
Usuwa wszystkie bieżące automatycznie zapisane pliki.
virtual BOOL DeleteAllAutosavedFiles();
Wartość zwracana
Domyślna implementacja zawsze zwraca wartość TRUE.
CDataRecoveryHandler::D eleteAutosavedFile
Usuwa określony automatycznie zapisany plik.
virtual BOOL DeleteAutosavedFile(const CString& strAutosavedFile);
Parametry
strAutosavedFile
[in] Ciąg zawierający automatycznie zapisaną nazwę pliku.
Wartość zwracana
Domyślna implementacja zawsze zwraca wartość TRUE.
Uwagi
Jeśli ta metoda nie może usunąć automatycznie zapisanego pliku, zapisze nazwę pliku na liście. Destruktor próbuje CDataRecoveryHandler
usunąć każdy automatycznie zapisany plik określony na tej liście.
CDataRecoveryHandler::GenerateAutosaveFileName
Generuje nazwę pliku autozapisu skojarzonego z podaną nazwą pliku dokumentu.
virtual CString GenerateAutosaveFileName(const CString& strDocumentName) const;
Parametry
strDocumentName
[in] Ciąg zawierający nazwę dokumentu. GenerateAutosaveFileName
używa tej nazwy dokumentu, aby wygenerować odpowiednią nazwę pliku autozapisu.
Wartość zwracana
Nazwa pliku autozapisu wygenerowana na podstawie nazwy strDocumentName.
Uwagi
Każda nazwa dokumentu ma mapowanie jeden do jednego z nazwą pliku autozapisu.
CDataRecoveryHandler::GetAutosaveInterval
Zwraca interwał między automatycznymi próbami.
virtual int GetAutosaveInterval() const;
Wartość zwracana
Liczba milisekund między próbami autozapisu.
CDataRecoveryHandler::GetAutosavePath
Zwraca ścieżkę automatycznie zapisanych plików.
virtual CString GetAutosavePath() const;
Wartość zwracana
Lokalizacja, w której są przechowywane automatycznie zapisane dokumenty.
CDataRecoveryHandler::GetDocumentListName
Pobiera nazwę dokumentu z CDocument
obiektu.
virtual CString GetDocumentListName(CDocument* pDocument) const;
Parametry
dokument pDocument
[in] Wskaźnik do .CDocument
GetDocumentListName
pobiera nazwę dokumentu z tego CDocument
elementu .
Wartość zwracana
Nazwa dokumentu z pliku pDocument.
Uwagi
Parametr CDataRecoveryHandler
używa nazwy dokumentu jako klucza w m_mapDocNameToAutosaveName, m_mapDocNameToDocumentPtr i m_mapDocNameToRestoreBool. Ten parametr umożliwia CDataRecoveryHandler
monitorowanie CDocument
obiektów, automatyczne zapisywanie nazwy pliku i ustawień automatycznego zapisywania.
CDataRecoveryHandler::GetNormalDocumentTitle
Pobiera normalny tytuł określonego dokumentu.
virtual CString GetNormalDocumentTitle(CDocument* pDocument);
Parametry
dokument pDocument
[in] Wskaźnik do .CDocument
Wartość zwracana
Normalny tytuł określonego dokumentu.
Uwagi
Normalny tytuł dokumentu jest zwykle nazwą pliku dokumentu bez ścieżki. Jest to tytuł w polu Nazwa pliku okna dialogowego Zapisz jako .
CDataRecoveryHandler::GetRecoveredDocumentTitle
Tworzy i zwraca tytuł odzyskanego dokumentu.
virtual CString GetRecoveredDocumentTitle(const CString& strDocumentTitle) const;
Parametry
strDocumentTitle
[in] Normalny tytuł dokumentu.
Wartość zwracana
Odzyskany tytuł dokumentu.
Uwagi
Domyślnie odzyskany tytuł dokumentu to normalny tytuł z dołączonym do niego ciągiem [recovered]. Odzyskany tytuł jest wyświetlany użytkownikowi, gdy CDataRecoveryHandler
wysyła zapytanie do użytkownika w celu przywrócenia automatycznie zapisanych dokumentów.
CDataRecoveryHandler::GetRestartIdentifier
Pobiera unikatowy identyfikator ponownego uruchomienia aplikacji.
virtual CString GetRestartIdentifier() const;
Wartość zwracana
Unikatowy identyfikator ponownego uruchomienia.
Uwagi
Identyfikator ponownego uruchamiania jest unikatowy dla każdego wykonania aplikacji.
Przechowuje CDataRecoveryHandler
informacje w rejestrze o aktualnie otwartych dokumentach. Gdy menedżer ponownego uruchamiania zakończy działanie aplikacji i uruchomi ją ponownie, dostarczy identyfikator ponownego uruchomienia do .CDataRecoveryHandler
Narzędzie CDataRecoveryHandler
używa identyfikatora ponownego uruchamiania w celu pobrania listy wcześniej otwartych dokumentów. Dzięki temu można CDataRecoveryHandler
spróbować znaleźć i przywrócić automatycznie zapisanych plików.
CDataRecoveryHandler::GetSaveDocumentInfoOnIdle
Wskazuje, czy CDataRecoveryHandler
funkcja wykonuje automatyczne zapisywanie w bieżącej pętli bezczynności.
virtual BOOL GetSaveDocumentInfoOnIdle() const;
Wartość zwracana
Wartość TRUE wskazuje CDataRecoveryHandler
autozapisy w bieżącej pętli bezczynności; Fałsz wskazuje, że nie.
CDataRecoveryHandler::GetShutdownByRestartManager
Wskazuje, czy menedżer ponownego uruchamiania spowodował zamknięcie aplikacji.
virtual BOOL GetShutdownByRestartManager() const;
Wartość zwracana
Wartość TRUE wskazuje, że menedżer ponownego uruchamiania spowodował zamknięcie aplikacji; FAŁSZ wskazuje, że nie.
CDataRecoveryHandler::Initialize
Inicjuje element CDataRecoveryHandler
.
virtual BOOL Initialize();
Wartość zwracana
WARTOŚĆ TRUE, jeśli inicjowanie zakończyło się pomyślnie; w przeciwnym razie FAŁSZ.
Uwagi
Proces inicjowania ładuje ścieżkę do przechowywania plików automatycznego zapisywania z rejestru. Initialize
Jeśli metoda nie może odnaleźć tego katalogu lub jeśli ścieżka ma wartość NULL, Initialize
kończy się niepowodzeniem i zwraca wartość FALSE
.
Użyj CDataRecoveryHandler::SetAutosavePath , aby zmienić ścieżkę autozapisu po zainicjowaniu CDataRecoveryHandler
aplikacji .
Metoda Initialize
uruchamia również czasomierz do monitorowania, gdy nastąpi następne automatyczne zapisywanie. Użyj CDataRecoveryHandler::SetAutosaveInterval , aby zmienić interwał autozapisu po zainicjowaniu CDataRecoveryHandler
aplikacji .
CDataRecoveryHandler::QueryRestoreAutosavedDocuments
Wyświetla użytkownikowi okno dialogowe dla każdego dokumentu, który CDataRecoveryHandler
został zapisany automatycznie. Okno dialogowe określa, czy użytkownik chce przywrócić automatycznie zapisany dokument.
virtual void QueryRestoreAutosavedDocuments();
Uwagi
Jeśli aplikacja ma format Unicode, ta metoda wyświetla użytkownikowi dziennik CTaskDialog . W przeciwnym razie platforma używa elementu AfxMessageBox do wykonywania zapytań względem użytkownika.
Po QueryRestoreAutosavedDocuments
zebraniu wszystkich odpowiedzi od użytkownika przechowuje informacje w zmiennej składowej m_mapDocNameToRestoreBool. Ta metoda nie przywraca automatycznie zapisanych dokumentów.
CDataRecoveryHandler::ReadOpenDocumentList
Ładuje otwartą listę dokumentów z rejestru.
virtual BOOL ReadOpenDocumentList();
Wartość zwracana
Wartość TRUE wskazuje, że ReadOpenDocumentList
załadowano informacje dla co najmniej jednego dokumentu z rejestru; FAŁSZ wskazuje, że nie załadowano żadnych informacji o dokumencie.
Uwagi
Ta funkcja ładuje otwarte informacje o dokumencie z rejestru i przechowuje je w zmiennej składowej m_mapDocNameToAutosaveName.
Po ReadOpenDocumentList
załadowaniu wszystkich danych zostaną usunięte informacje o dokumencie z rejestru.
CDataRecoveryHandler::RemoveDocumentInfo
Usuwa podany dokument z otwartej listy dokumentów.
virtual BOOL RemoveDocumentInfo(CDocument* pDocument);
Parametry
dokument pDocument
[in] Wskaźnik do usunięcia dokumentu.
Wartość zwracana
Wartość TRUE, jeśli dokument pDocument został usunięty z listy; FAŁSZ, jeśli wystąpił błąd.
Uwagi
Gdy użytkownik zamknie dokument, struktura używa tej metody, aby usunąć go z listy otwartych dokumentów.
Jeśli RemoveDocumentInfo
nie można odnaleźć dokumentu pDocument na liście otwartych dokumentów, nie robi nic i zwraca wartość TRUE.
Aby użyć tej metody, AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES należy ustawić w m_dwRestartManagerSupportFlags.
CDataRecoveryHandler::ReopenPreviousDocuments
Otwiera wcześniej otwarte dokumenty.
virtual BOOL ReopenPreviousDocuments();
Wartość zwracana
WARTOŚĆ TRUE, jeśli został otwarty co najmniej jeden dokument; w przeciwnym razie FAŁSZ.
Uwagi
Ta metoda otwiera najnowsze zapisywanie poprzednio otwartych dokumentów. Jeśli dokument nie został zapisany lub zapisany automatycznie, ReopenPreviousDocuments
otwiera pusty dokument na podstawie szablonu dla tego typu pliku.
Aby użyć tej metody, AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES należy ustawić w m_dwRestartManagerSupportFlags. Jeśli ten parametr nie jest ustawiony, ReopenPreviousDocuments
nic nie robi i zwraca wartość FALSE.
Jeśli na liście wcześniej otwartych dokumentów nie ma żadnych dokumentów, ReopenPreviousDocuments
nic nie robi i zwraca wartość FALSE.
CDataRecoveryHandler::RestoreAutosavedDocuments
Przywraca automatycznie zapisanych dokumentów na podstawie danych wejściowych użytkownika.
virtual BOOL RestoreAutosavedDocuments();
Wartość zwracana
Wartość TRUE, jeśli ta metoda pomyślnie przywróci dokumenty.
Uwagi
Ta metoda wywołuje metodę CDataRecoveryHandler::QueryRestoreAutosavedDocuments w celu określenia dokumentów, które użytkownik chce przywrócić. Jeśli użytkownik zdecyduje się nie przywrócić automatycznie zapisanych dokumentów, RestoreAutosavedDocuments
usuwa plik autozapisu. RestoreAutosavedDocuments
W przeciwnym razie zastępuje otwarty dokument automatycznie zapisaną wersją.
Aby użyć tej metody, należy ustawić AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES lub AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES w .m_dwRestartManagerSupportFlags
CDataRecoveryHandler::SaveOpenDocumentList
Zapisuje bieżącą listę otwartych dokumentów w rejestrze systemu Windows.
virtual BOOL SaveOpenDocumentList();
Wartość zwracana
Wartość TRUE, jeśli nie ma otwartych dokumentów do zapisania lub jeśli zostały zapisane pomyślnie. FAŁSZ, jeśli istnieją dokumenty do zapisania w rejestrze, ale nie zostały zapisane, ponieważ wystąpił błąd.
Uwagi
Menedżer ponownego uruchamiania wywołuje nieoczekiwane SaveOpenDocumentList
zakończenie działania aplikacji lub zakończenie uaktualniania. Gdy aplikacja zostanie uruchomiona ponownie, używa metody CDataRecoveryHandler::ReadOpenDocumentList , aby pobrać listę otwartych dokumentów.
Ta metoda zapisuje tylko listę otwartych dokumentów. Metoda CDataRecoveryHandler::AutosaveDocumentInfo jest odpowiedzialna za zapisywanie samych dokumentów.
CDataRecoveryHandler::SetAutosaveInterval
Ustawia czas między cyklami autozapisu w milisekundach.
Virtual void SetAutosaveInterval(int nAutosaveInterval);
Parametry
nAutosaveInterval
[in] Nowy interwał autozapisu w milisekundach.
CDataRecoveryHandler::SetAutosavePath
Ustawia katalog, w którym są przechowywane automatycznie zapisane pliki.
virtual void SetAutosavePath(const CString& strAutosavePath);
Parametry
strAutosavePath
[in] Ścieżka, w której są przechowywane pliki autozapisu.
Uwagi
Zmiana katalogu autozapisu nie powoduje przeniesienia obecnie automatycznie zapisanych plików.
CDataRecoveryHandler::SetRestartIdentifier
Ustawia unikatowy identyfikator ponownego uruchamiania dla tego wystąpienia klasy CDataRecoveryHandler
.
virtual void SetRestartIdentifier(const CString& strRestartIdentifier);
Parametry
strRestartIdentifier
[in] Unikatowy identyfikator menedżera ponownego uruchamiania.
Uwagi
Menedżer ponownego uruchamiania rejestruje informacje o otwartych dokumentach w rejestrze. Te informacje są przechowywane przy użyciu unikatowego identyfikatora ponownego uruchomienia jako klucza. Ponieważ identyfikator ponownego uruchomienia jest unikatowy dla każdego wystąpienia aplikacji, wiele wystąpień aplikacji może zakończyć się nieoczekiwanie, a menedżer ponownego uruchamiania może odzyskać każdy z nich.
CDataRecoveryHandler::SetSaveDocumentInfoOnIdle
Określa, CDataRecoveryHandler
czy program zapisuje informacje o otwartym dokumencie w rejestrze systemu Windows podczas bieżącego cyklu bezczynności.
virtual void SetSaveDocumentInfoOnIdle(BOOL bSaveOnIdle);
Parametry
bSaveOnIdle
[in] WARTOŚĆ TRUE, aby zapisać informacje o dokumencie podczas bieżącego cyklu bezczynności; Fałsz, aby nie wykonać zapisu.
CDataRecoveryHandler::SetShutdownByRestartManager
Określa, czy poprzednie zakończenie aplikacji zostało spowodowane przez menedżera ponownego uruchamiania.
virtual void SetShutdownByRestartManager(BOOL bShutdownByRestartManager);
Parametry
bShutdownByRestartManager
[in] WARTOŚĆ TRUE wskazująca, że menedżer ponownego uruchamiania spowodował zamknięcie aplikacji; FAŁSZ wskazujący, że aplikacja zakończyła działanie z innego powodu.
Uwagi
Struktura działa inaczej w zależności od tego, czy poprzednie wyjście było nieoczekiwane, czy też zainicjowane przez menedżera ponownego uruchamiania.
CDataRecoveryHandler::UpdateDocumentInfo
Aktualizuje informacje o dokumencie, ponieważ użytkownik go zapisał.
virtual BOOL UpdateDocumentInfo(CDocument* pDocument);
Parametry
dokument pDocument
[in] Wskaźnik do zapisanego dokumentu.
Wartość zwracana
WARTOŚĆ TRUE, jeśli ta metoda usunęła dokument zapisany automatycznie i zaktualizowała informacje o dokumencie; FAŁSZ, jeśli wystąpił błąd.
Uwagi
Gdy użytkownik zapisze dokument, aplikacja usunie automatycznie zapisany plik, ponieważ nie jest już potrzebny. UpdateDocumentInfo
Usuwa automatycznie zapisany plik przez wywołanie CDataRecoveryHandler ::RemoveDocumentInfo. UpdateDocumentInfo
Następnie dodaje informacje z pliku pDocument do listy aktualnie otwartych dokumentów, ponieważ RemoveDocumentInfo
usuwa te informacje, ale zapisany dokument jest nadal otwarty.
Aby użyć tej metody, AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES należy ustawić w m_dwRestartManagerSupportFlags.
Zobacz też
Klasy
Wykres hierarchii
Klasa CObject
Instrukcje: dodawanie obsługi menedżera ponownego uruchamiania