Класс CDataRecoveryHandler
Автосохранение CDataRecoveryHandler
документов и восстанавливает их при неожиданном выходе приложения.
Синтаксис
class CDataRecoveryHandler : public CObject
Участники
Конструкторы
Имя | Описание |
---|---|
CDataRecoveryHandler::CDataRecoveryHandler | Формирует объект CDataRecoveryHandler . |
Методы
Имя | Описание |
---|---|
CDataRecoveryHandler::AutosaveAllDocumentInfo | Автосохранение каждого файла, зарегистрированного CDataRecoveryHandler в классе. |
CDataRecoveryHandler::AutosaveDocumentInfo | Автосохранение указанного документа. |
CDataRecoveryHandler::CreateDocumentInfo | Добавляет документ в список открытых документов. |
CDataRecoveryHandler::D eleteAllAutosavedFiles | Удаляет все текущие автоматически сохраненные файлы. |
CDataRecoveryHandler::D eleteAutosavedFile | Удаляет указанный автоматический файл. |
CDataRecoveryHandler::GenerateAutosaveFileName | Создает имя файла автосохранений, связанного с указанным именем файла документа. |
CDataRecoveryHandler::GetAutosaveInterval | Возвращает интервал между попытками автосохранений. |
CDataRecoveryHandler::GetAutosavePath | Возвращает путь к файлам автосохранения. |
CDataRecoveryHandler::GetDocumentListName | Извлекает имя документа из CDocument объекта. |
CDataRecoveryHandler::GetNormalDocumentTitle | Извлекает нормальное название указанного документа. |
CDataRecoveryHandler::GetRecoveredDocumentTitle | Создает и возвращает заголовок для восстановленного документа. |
CDataRecoveryHandler::GetRestartIdentifier | Извлекает уникальный идентификатор перезапуска для приложения. |
CDataRecoveryHandler::GetSaveDocumentInfoOnIdle | Указывает, выполняется ли CDataRecoveryHandler автосохранение в текущем цикле простоя. |
CDataRecoveryHandler::GetShutdownByRestartManager | Указывает, приведет ли диспетчер перезапуска к выходу приложения. |
CDataRecoveryHandler::Initialize | Инициализирует объект CDataRecoveryHandler . |
CDataRecoveryHandler::QueryRestoreAutosavedDocuments | Отображает диалоговое окно для пользователя для каждого документа, который CDataRecoveryHandler автоматически сохранен. Диалоговое окно определяет, хочет ли пользователь восстановить автоматически сохраненный документ. |
CDataRecoveryHandler::ReadOpenDocumentList | Загружает открытый список документов из реестра. |
CDataRecoveryHandler::RemoveDocumentInfo | Удаляет предоставленный документ из открытого списка документов. |
CDataRecoveryHandler::ReopenPreviousDocuments | Открывает ранее открытые документы. |
CDataRecoveryHandler::RestoreAutosavedDocuments | Восстанавливает автосохраняемые документы на основе ввода пользователем. |
CDataRecoveryHandler::SaveOpenDocumentList | Сохраняет текущий список открытых документов в реестре Windows. |
CDataRecoveryHandler::SetAutosaveInterval | Задает время между циклами автосохранений в миллисекундах. |
CDataRecoveryHandler::SetAutosavePath | Задает каталог, в котором хранятся автоматически сохраненные файлы. |
CDataRecoveryHandler::SetRestartIdentifier | Задает уникальный идентификатор перезапуска для этого экземпляра CDataRecoveryHandler . |
CDataRecoveryHandler::SetSaveDocumentInfoOnIdle | Задает, сохраняет ли CDataRecoveryHandler сведения о открытом документе в реестре Windows во время текущего цикла простоя. |
CDataRecoveryHandler::SetShutdownByRestartManager | Задает, был ли предыдущий выход приложения вызван диспетчером перезапуска. |
CDataRecoveryHandler::UpdateDocumentInfo | Обновляет сведения для документа, так как пользователь сохранил его. |
Элементы данных
Имя | Описание |
---|---|
m_bRestoringPreviousOpenDocs | Указывает, открывает ли обработчик восстановления данных ранее открытые документы. |
m_bSaveDocumentInfoOnIdle | Указывает, выполняется ли автоматическое сохранение документов обработчика восстановления данных в следующем цикле простоя. |
m_bShutdownByRestartManager | Указывает, приводит ли диспетчер перезапуска к выходу приложения. |
m_dwRestartManagerSupportFlags | Флаги, указывающие, какую поддержку предоставляет диспетчер перезапуска для приложения. |
m_lstAutosavesToDelete | Список автоматически сохраненных файлов, которые не были удалены при закрытии исходных документов. Когда приложение завершает работу, диспетчер перезапуска повторяет удаление файлов. |
m_mapDocNameToAutosaveName | Карта имен документов с именами автоматически сохраненных файлов. |
m_mapDocNameToDocumentPtr | Карта имен документов с указателями CDocument . |
m_mapDocNameToRestoreBool | Карта имен документов с логическим параметром, указывающим, следует ли восстановить автоматически сохраненный документ. |
m_mapDocumentPtrToDocName | Карта CDocument указателей на имена документов. |
m_mapDocumentPtrToDocTitle | CDocument Карта указателей на заголовки документа. Эти названия используются для сохранения файлов. |
m_nAutosaveInterval | Время в миллисекундах между автосохранением. |
m_nTimerID | Идентификатор таймера автосохранений. |
m_strAutosavePath | Расположение, в котором хранятся автоматически сохраненные документы. |
m_strRestartIdentifier | Строковое представление GUID для диспетчера перезапуска. |
Замечания
Диспетчер перезапуска использует CDataRecoveryHandler
класс, чтобы отслеживать все открытые документы и автоматически сохранять их при необходимости. Чтобы включить автосохранение, используйте метод CDataRecoveryHandler::SetSaveDocumentInfoOnIdle . Этот метод направляет CDataRecoveryHandler
автосохранение на следующий цикл простоя. Диспетчер перезапуска вызывается SetSaveDocumentInfoOnIdle
при CDataRecoveryHandler
выполнении автосохранений.
Все методы CDataRecoveryHandler
класса являются виртуальными. Переопределите методы в этом классе, чтобы создать собственный обработчик восстановления данных. Если вы не создадите собственный обработчик восстановления данных или диспетчер перезапуска, не создайте экземпляр CDataRecoveryHandler. Класс CWinApp создает CDataRecoveryHandler
объект по мере необходимости.
Прежде чем использовать CDataRecoveryHandler
объект, необходимо вызвать CDataRecoveryHandler::Initialize.
CDataRecoveryHandler
Так как класс тесно подключен к диспетчеру перезапуска, CDataRecoveryHandler
зависит от глобального параметраm_dwRestartManagerSupportFlags
. Этот параметр определяет, какие разрешения имеет диспетчер перезапуска и как он взаимодействует с приложением. Чтобы включить диспетчер перезапуска в существующее приложение, необходимо назначить m_dwRestartManagerSupportFlags
соответствующее значение в конструкторе основного приложения. Дополнительные сведения об использовании диспетчера перезапуска см. в разделе "Практическое руководство. Добавление поддержки диспетчера перезапуска".
Требования
Заголовок: afxdatarecovery.h
CDataRecoveryHandler::AutosaveAllDocumentInfo
Автосохранение каждого файла, зарегистрированного CDataRecoveryHandler
в классе.
virtual BOOL AutosaveAllDocumentInfo();
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если сохранены CDataRecoveryHandler
все документы; ЗНАЧЕНИЕ FALSE, если какой-либо документ не был сохранен.
Замечания
Этот метод возвращает значение TRUE, если нет документов, которые должны быть сохранены. Он также возвращает значение TRUE, не сохраняя CWinApp
документы при получении или CDocManager
получении приложения ошибки.
Чтобы использовать этот метод, необходимо задать m_dwRestartManagerSupportFlags
AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART или AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL. Дополнительные сведения см. в разделе "Практическое руководство. Добавление поддержки диспетчера перезапуска".
CDataRecoveryHandler::AutosaveDocumentInfo
Автосохранение указанного документа.
virtual BOOL AutosaveDocumentInfo(
CDocument* pDocument,
BOOL bResetModifiedFlag = TRUE);
Параметры
pDocument
[in] Указатель на CDocument
сохранение.
bResetModifiedFlag
[in] ЗНАЧЕНИЕ TRUE указывает, что следует CDataRecoveryHandler
изменить pDocument ; FALSE указывает, что платформа считает pDocument не измененной. Дополнительные сведения о влиянии этого флага см. в разделе "Примечания".
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если заданы соответствующие флаги, и pDocument является допустимым CDocument
объектом.
Замечания
Каждый CDocument
объект имеет флаг, указывающий, изменился ли он с момента последнего сохранения. Используйте CDocument::IsModified , чтобы определить состояние этого флага. Если с CDocument
момента последнего сохранения не было изменено, AutosaveDocumentInfo
удалите все автоматически сохраненные файлы для этого документа. Если документ изменился с момента последнего сохранения, закрывая его, пользователь предложит сохранить документ перед закрытием.
Примечание.
Использование bResetModifiedFlag для изменения состояния документа на немодифицированное может привести к потере несохраненных данных пользователем. Если платформа считает документ не измененным, закрывая его, пользователь не предложит сохранить его.
Этот метод создает исключение с макросом ASSERT , если pDocument не является допустимым CDocument
объектом.
Чтобы использовать этот метод, необходимо задать AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART или AFX_RESTARTMANAGER_AUTOSAVE_AT_INTERVAL в m_dwRestartManagerSupportFlags.
CDataRecoveryHandler::CDataRecoveryHandler
Формирует объект CDataRecoveryHandler
.
CDataRecoveryHandler(
DWORD dwRestartManagerSupportFlags,
int nAutosaveInterval);
Параметры
dwRestartManagerSupportFlags
[in] Указывает, какие параметры диспетчера перезапуска поддерживаются.
nAutosaveInterval
[in] Время между автосохранением. Этот параметр находится в миллисекундах.
Замечания
Платформа MFC автоматически создает CDataRecoveryHandler
объект для приложения при использовании мастера создания проекта . Если вы не настраиваете поведение восстановления данных или диспетчер перезапуска, не следует создавать CDataRecoveryHandler
объект.
CDataRecoveryHandler::CreateDocumentInfo
Добавляет документ в список открытых документов.
virtual BOOL CreateDocumentInfo(CDocument* pDocument);
Параметры
pDocument
[in] Указатель на CDocument
. Этот метод создает сведения о документе для этого CDocument
.
Возвращаемое значение
Реализация по умолчанию возвращает ЗНАЧЕНИЕ TRUE.
Замечания
Этот метод проверяет , уже ли pDocument находится в списке документов перед добавлением документа. Если pDocument уже находится в списке, этот метод удаляет автоматически сохраненный файл, связанный с pDocument.
Чтобы использовать этот метод, необходимо задать AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART или AFX_RESTARTMANAGER_AUTOSAVE_AT_INTERVAL в m_dwRestartManagerSupportFlags.
CDataRecoveryHandler::D eleteAllAutosavedFiles
Удаляет все текущие автоматически сохраненные файлы.
virtual BOOL DeleteAllAutosavedFiles();
Возвращаемое значение
Реализация по умолчанию всегда возвращает ЗНАЧЕНИЕ TRUE.
CDataRecoveryHandler::D eleteAutosavedFile
Удаляет указанный автоматический файл.
virtual BOOL DeleteAutosavedFile(const CString& strAutosavedFile);
Параметры
strAutosavedFile
[in] Строка, содержащая имя файла автосохраняемого файла.
Возвращаемое значение
Реализация по умолчанию всегда возвращает ЗНАЧЕНИЕ TRUE.
Замечания
Если этот метод не может удалить автоматически сохраненный файл, он сохраняет имя файла в списке. Деструктор для CDataRecoveryHandler
попытки удалить каждый автоматически сохраненный файл, указанный в этом списке.
CDataRecoveryHandler::GenerateAutosaveFileName
Создает имя файла автосохранений, связанного с указанным именем файла документа.
virtual CString GenerateAutosaveFileName(const CString& strDocumentName) const;
Параметры
strDocumentName
[in] Строка, содержащая имя документа. GenerateAutosaveFileName
использует это имя документа для создания соответствующего имени файла автосохрана.
Возвращаемое значение
Имя файла автосохранения, созданное из strDocumentName.
Замечания
Каждое имя документа имеет сопоставление "один к одному" с именем файла автосохранение.
CDataRecoveryHandler::GetAutosaveInterval
Возвращает интервал между попытками автосохранений.
virtual int GetAutosaveInterval() const;
Возвращаемое значение
Количество миллисекунда между попытками автосохранения.
CDataRecoveryHandler::GetAutosavePath
Возвращает путь к файлам автосохранения.
virtual CString GetAutosavePath() const;
Возвращаемое значение
Расположение, в котором хранятся автоматически сохраненные документы.
CDataRecoveryHandler::GetDocumentListName
Извлекает имя документа из CDocument
объекта.
virtual CString GetDocumentListName(CDocument* pDocument) const;
Параметры
pDocument
[in] Указатель на CDocument
. GetDocumentListName
извлекает имя документа из этого CDocument
файла.
Возвращаемое значение
Имя документа из pDocument.
Замечания
Имя CDataRecoveryHandler
документа используется в качестве ключа в m_mapDocNameToAutosaveName, m_mapDocNameToDocumentPtr и m_mapDocNameToRestoreBool. Этот параметр позволяет CDataRecoveryHandler
отслеживать CDocument
объекты, имя файла автосохранение и параметры автосохранений.
CDataRecoveryHandler::GetNormalDocumentTitle
Извлекает нормальное название указанного документа.
virtual CString GetNormalDocumentTitle(CDocument* pDocument);
Параметры
pDocument
[in] Указатель на CDocument
.
Возвращаемое значение
Обычный заголовок указанного документа.
Замечания
Обычно заголовок документа — это имя файла документа без пути. Это название в поле имени файла диалогового окна "Сохранить как ".
CDataRecoveryHandler::GetRecoveredDocumentTitle
Создает и возвращает заголовок для восстановленного документа.
virtual CString GetRecoveredDocumentTitle(const CString& strDocumentTitle) const;
Параметры
strDocumentTitle
[in] Обычный заголовок документа.
Возвращаемое значение
Заголовок восстановленного документа.
Замечания
По умолчанию восстановленный заголовок документа является обычным заголовком, добавленным к нему [восстановлено] . Восстановленное название отображается пользователю при CDataRecoveryHandler
запросе пользователя к восстановлению автоматически сохраненных документов.
CDataRecoveryHandler::GetRestartIdentifier
Извлекает уникальный идентификатор перезапуска для приложения.
virtual CString GetRestartIdentifier() const;
Возвращаемое значение
Уникальный идентификатор перезапуска.
Замечания
Идентификатор перезапуска является уникальным для каждого выполнения приложения.
Хранит CDataRecoveryHandler
сведения в реестре о открытых документах. Когда диспетчер перезапуска выходит из приложения и перезагружает его, он предоставляет идентификатор перезапуска CDataRecoveryHandler
. Использует CDataRecoveryHandler
идентификатор перезапуска для получения списка ранее открытых документов. Это позволяет CDataRecoveryHandler
попытаться найти и восстановить автоматически сохраненные файлы.
CDataRecoveryHandler::GetSaveDocumentInfoOnIdle
Указывает, выполняется ли CDataRecoveryHandler
автосохранение в текущем цикле простоя.
virtual BOOL GetSaveDocumentInfoOnIdle() const;
Возвращаемое значение
ЗНАЧЕНИЕ TRUE указывает CDataRecoveryHandler
автосохранение в текущем цикле простоя; FALSE указывает, что он не имеет значения.
CDataRecoveryHandler::GetShutdownByRestartManager
Указывает, приведет ли диспетчер перезапуска к выходу приложения.
virtual BOOL GetShutdownByRestartManager() const;
Возвращаемое значение
ЗНАЧЕНИЕ TRUE указывает, что диспетчер перезапуска привел к выходу приложения; FALSE указывает, что он не сделал.
CDataRecoveryHandler::Initialize
Инициализирует объект CDataRecoveryHandler
.
virtual BOOL Initialize();
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если инициализация выполнена успешно; в противном случае ЗНАЧЕНИЕ FALSE.
Замечания
Процесс инициализации загружает путь для хранения файлов автосохранения из реестра. Initialize
Если метод не может найти этот каталог или если путь имеет значение NULL, Initialize
завершается ошибкой и возвращаетсяFALSE
.
Используйте CDataRecoveryHandler::SetAutosavePath , чтобы изменить путь автосохранений после инициализации CDataRecoveryHandler
приложения.
Метод Initialize
также запускает таймер для отслеживания при следующем автосохранлении. Используйте CDataRecoveryHandler::SetAutosaveInterval , чтобы изменить интервал автосохранений после инициализации CDataRecoveryHandler
приложения.
CDataRecoveryHandler::QueryRestoreAutosavedDocuments
Отображает диалоговое окно для пользователя для каждого документа, который CDataRecoveryHandler
автоматически сохранен. Диалоговое окно определяет, хочет ли пользователь восстановить автоматически сохраненный документ.
virtual void QueryRestoreAutosavedDocuments();
Замечания
Если приложение является Юникодом, этот метод отображает CTaskDialog пользователю. В противном случае платформа использует AfxMessageBox для запроса пользователя.
После QueryRestoreAutosavedDocuments
сбора всех ответов от пользователя он сохраняет сведения в переменной-члене m_mapDocNameToRestoreBool. Этот метод не восстанавливает автоматически сохраненные документы.
CDataRecoveryHandler::ReadOpenDocumentList
Загружает открытый список документов из реестра.
virtual BOOL ReadOpenDocumentList();
Возвращаемое значение
ЗНАЧЕНИЕ TRUE указывает, что ReadOpenDocumentList
загружена информация по крайней мере для одного документа из реестра; FALSE указывает, что информация о документе не загружена.
Замечания
Эта функция загружает сведения о открытом документе из реестра и сохраняет его в переменной-члене m_mapDocNameToAutosaveName.
После ReadOpenDocumentList
загрузки всех данных он удаляет сведения о документе из реестра.
CDataRecoveryHandler::RemoveDocumentInfo
Удаляет предоставленный документ из открытого списка документов.
virtual BOOL RemoveDocumentInfo(CDocument* pDocument);
Параметры
pDocument
[in] Указатель на документ для удаления.
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если pDocument было удалено из списка; ЗНАЧЕНИЕ FALSE, если произошла ошибка.
Замечания
Когда пользователь закрывает документ, платформа использует этот метод для удаления из списка открытых документов.
Если RemoveDocumentInfo
не удается найти pDocument в списке открытых документов, он ничего не делает и возвращает значение TRUE.
Чтобы использовать этот метод, AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES необходимо задать в m_dwRestartManagerSupportFlags.
CDataRecoveryHandler::ReopenPreviousDocuments
Открывает ранее открытые документы.
virtual BOOL ReopenPreviousDocuments();
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если был открыт хотя бы один документ; в противном случае ЗНАЧЕНИЕ FALSE.
Замечания
Этот метод открывает последнее сохранение ранее открытых документов. Если документ не был сохранен или автосохранен, ReopenPreviousDocuments
открывает пустой документ на основе шаблона для этого типа файла.
Чтобы использовать этот метод, AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES необходимо задать в m_dwRestartManagerSupportFlags. Если этот параметр не задан, ReopenPreviousDocuments
не выполняет никаких действий и возвращает значение FALSE.
Если нет документов, хранящихся в списке ранее открытых документов, ReopenPreviousDocuments
ничего не делает и возвращает значение FALSE.
CDataRecoveryHandler::RestoreAutosavedDocuments
Восстанавливает автосохраняемые документы на основе ввода пользователем.
virtual BOOL RestoreAutosavedDocuments();
Возвращаемое значение
Значение TRUE, если этот метод успешно восстанавливает документы.
Замечания
Этот метод вызывает CDataRecoveryHandler::QueryRestoreAutosavedDocuments , чтобы определить, какие документы пользователь хочет восстановить. Если пользователь решит не восстановить автоматически сохраненный документ, RestoreAutosavedDocuments
удалите файл автосохранений. RestoreAutosavedDocuments
В противном случае заменяет открытый документ автоматической версией.
Чтобы использовать этот метод, необходимо задать m_dwRestartManagerSupportFlags
AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES или AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES.
CDataRecoveryHandler::SaveOpenDocumentList
Сохраняет текущий список открытых документов в реестре Windows.
virtual BOOL SaveOpenDocumentList();
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если для сохранения открытых документов нет или если они были успешно сохранены. ЗНАЧЕНИЕ FALSE, если есть документы для сохранения в реестре, но они не были сохранены, так как произошла ошибка.
Замечания
Диспетчер перезапуска вызывается SaveOpenDocumentList
при неожиданном выходе приложения или при завершении обновления. При перезапуске приложения используется CDataRecoveryHandler::ReadOpenDocumentList для получения списка открытых документов.
Этот метод сохраняет только список открытых документов. Метод CDataRecoveryHandler::AutosaveDocumentInfo отвечает за сохранение самих документов.
CDataRecoveryHandler::SetAutosaveInterval
Задает время между циклами автосохранений в миллисекундах.
Virtual void SetAutosaveInterval(int nAutosaveInterval);
Параметры
nAutosaveInterval
[in] Новый интервал автосохранений в миллисекундах.
CDataRecoveryHandler::SetAutosavePath
Задает каталог, в котором хранятся автоматически сохраненные файлы.
virtual void SetAutosavePath(const CString& strAutosavePath);
Параметры
strAutosavePath
[in] Путь, в котором хранятся файлы автосохранений.
Замечания
Изменение каталога автосохранений в настоящее время не перемещает автоматически сохраненные файлы.
CDataRecoveryHandler::SetRestartIdentifier
Задает уникальный идентификатор перезапуска для этого экземпляра CDataRecoveryHandler
.
virtual void SetRestartIdentifier(const CString& strRestartIdentifier);
Параметры
strRestartIdentifier
[in] Уникальный идентификатор диспетчера перезапуска.
Замечания
Диспетчер перезапуска записывает сведения о открытых документах в реестре. Эти сведения хранятся с уникальным идентификатором перезапуска в качестве ключа. Так как идентификатор перезапуска является уникальным для каждого экземпляра приложения, несколько экземпляров приложения могут неожиданно выйти, и диспетчер перезапуска может восстановить каждый из них.
CDataRecoveryHandler::SetSaveDocumentInfoOnIdle
Задает, сохраняет ли CDataRecoveryHandler
сведения о открытом документе в реестре Windows во время текущего цикла простоя.
virtual void SetSaveDocumentInfoOnIdle(BOOL bSaveOnIdle);
Параметры
bSaveOnIdle
[in] ЗНАЧЕНИЕ TRUE для сохранения сведений о документе во время текущего цикла простоя; Значение FALSE, чтобы не выполнять сохранение.
CDataRecoveryHandler::SetShutdownByRestartManager
Задает, был ли предыдущий выход приложения вызван диспетчером перезапуска.
virtual void SetShutdownByRestartManager(BOOL bShutdownByRestartManager);
Параметры
bShutdownByRestartManager
[in] ЗНАЧЕНИЕ TRUE, указывающее, что диспетчер перезапуска вызвал выход приложения; ЗНАЧЕНИЕ FALSE, указывающее, что приложение завершило работу по другой причине.
Замечания
Платформа ведет себя по-разному в зависимости от того, был ли предыдущий выход непредвиденным или был ли он инициирован диспетчером перезапуска.
CDataRecoveryHandler::UpdateDocumentInfo
Обновляет сведения для документа, так как пользователь сохранил его.
virtual BOOL UpdateDocumentInfo(CDocument* pDocument);
Параметры
pDocument
[in] Указатель на сохраненный документ.
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если этот метод удалил автосохраняемый документ и обновил сведения о документе; ЗНАЧЕНИЕ FALSE, если произошла ошибка.
Замечания
Когда пользователь сохраняет документ, приложение удаляет автоматически сохраненный файл, так как он больше не нужен. UpdateDocumentInfo
удаляет файл автосохранения путем вызова CDataRecoveryHandler::RemoveDocumentInfo. UpdateDocumentInfo
затем добавляет сведения из pDocument в список открытых документов, так как RemoveDocumentInfo
удаляет эти сведения, но сохраненный документ по-прежнему открыт.
Чтобы использовать этот метод, AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES необходимо задать в m_dwRestartManagerSupportFlags.
См. также
Классы
Диаграмма иерархии
Класс CObject
Практическое руководство. Добавление поддержки диспетчера перезапуска