Поделиться через


CWinApp::RegisterWithRestartManager

Регистрирует приложение с помощью диспетчера перезапуска.

virtual HRESULT RegisterWithRestartManager(
   BOOL bRegisterRecoveryCallback,
   const CString &strRestartIdentifier
);

virtual HRESULT RegisterWithRestartManager(
   LPCWSTR pwzCommandLineArgs,
   DWORD dwRestartFlags,
   APPLICATION_RECOVERY_CALLBACK pRecoveryCallback,
   LPVOID lpvParam,
   DWORD dwPingInterval,
   DWORD dwCallbackFlags
);

Параметры

Параметр

Описание

[входящий] bRegisterRecoveryCallback

TRUE означает, что данный экземпляр приложения использует функцию обратного вызова восстановления; FALSE указывает, что это не так. Платформа вызывает функцию функция обратного вызова восстановления, когда приложение ". Дополнительные сведения см. в разделе CWinApp::ApplicationRecoveryCallback.

[входящий] strRestartIdentifier

Уникальная строка, определяющая этот экземпляр диспетчера перезапуска. Идентификатор диспетчера перезапуска уникально для каждого экземпляра приложения.

[входящий] pwzCommandLineArgs

Строка, которая содержит любые дополнительные аргументы из командной строки.

[входящий] dwRestartFlags

Флаги необязательно для диспетчера перезапуска. Дополнительные сведения см. в разделе "Замечания".

[входящий] pRecoveryCallback

Функция обратного вызова восстановления. Эта функция должна принять параметр LPVOID в качестве входных данных и возвращать DWORD. Функцию обратного вызова по умолчанию восстановления CWinApp::ApplicationRecoveryCallback.

[входящий] lpvParam

Входной параметр для функции обратного вызова восстановления. Дополнительные сведения см. в разделе CWinApp::ApplicationRecoveryCallback.

[входящий] dwPingInterval

Продолжительность времени, диспетчер перезапуска ожидает функции обратного вызова восстановления для возврата. Этот параметр (в миллисекундах).

[входящий] dwCallbackFlags

Флаги, передаваемые функции обратного вызова восстановления. Зарезервировано для использования в будущем.

Возвращаемое значение

S_OK если метод выполнен успешно; в противном случае код ошибки.

Заметки

Если приложение использует реализацию MFC значения по умолчанию для autosaving файлов, необходимо использовать простую версию RegisterWithRestartManager. Используйте сложную версию RegisterWithRestartManager если необходимо настраивать функциональности эта функция приложения.

При вызове этого метода для strRestartIdentifier с пустой строкой, то RegisterWithRestartManager создает строку уникального идентификатора для данного экземпляра диспетчера перезапуска.

Когда приложение неожиданно ", диспетчер перезапуска перезапускает приложение из командной строки и предоставляет уникальный идентификатор перезапуска в качестве дополнительного аргумента. В этом сценарии платформа вызывает функцию RegisterWithRestartManager 2 времени. Первый вызов поступает из CWinApp::InitInstance с пустой строкой идентификатора строки. Затем метод вызывает CWinApp::ProcessShellCommandRegisterWithRestartManager с уникальным идентификатором перезапуска.

После регистрации приложения с помощью диспетчера перезапуска диспетчер перезапуска контролирует приложение. Если приложение неожиданно ", то диспетчер перезапуска вызывает функцию обратного звонка восстановления во время процесса завершает работу. Диспетчер перезапуска dwPingInterval ожидает ответа от функции обратного вызова восстановления. Если функция обратного вызова восстановления не отвечает в течение указанного времени, то приложение оставляет без выполнения функции обратного вызова восстановления.

По умолчанию dwRestartFlags не поддерживается, и предоставляется для использования в будущем. Возможные значения для dwRestartFlags следующим образом:

  • RESTART_NO_CRASH

  • RESTART_NO_HANG

  • RESTART_NO_PATCH

  • RESTART_NO_REBOOT

Требования

заголовок: afxwin.h

См. также

Ссылки

Класс CWinApp

Диаграмма иерархии

CWinApp::SupportsRestartManager

CWinApp::ApplicationRecoveryCallback

Класс CDataRecoveryHandler