Udostępnij za pośrednictwem


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_dwRestartManagerSupportFlagsglobalnego . 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 CDocumentelementu .

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 CDataRecoveryHandleraplikacji .

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 CDataRecoveryHandleraplikacji .

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