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
);
参数
Parameter |
说明 |
[in] bRegisterRecoveryCallback |
TRUE 指示应用程序的此实例使用还原回调函数; FALSE 指示它不。 在应用程序意外退出时,框架调用还原回调函数。 有关更多信息,请参见 CWinApp::ApplicationRecoveryCallback。 |
[in] strRestartIdentifier |
标识重新启动管理器的此实例的唯一字符串。 重新启动管理器标识符用于应用程序的每个实例都是唯一的。 |
[in] pwzCommandLineArgs |
包含从命令行的任何额外参数的字符串。 |
[in] dwRestartFlags |
重新启动管理器的可选标志。 有关更多信息,请参见“备注”一节。 |
[in] pRecoveryCallback |
还原回调函数。 此函数都必须采用 LPVOID 参数作为输入并返回 DWORD。 默认还原回调函数是 CWinApp::ApplicationRecoveryCallback。 |
[in] lpvParam |
还原回调函数的输入参数。 有关更多信息,请参见 CWinApp::ApplicationRecoveryCallback。 |
[in] dwPingInterval |
重新启动管理器等待还原回调函数返回的时间长度。 此参数是毫秒。 |
[in] dwCallbackFlags |
标志传递给还原回调函数。 保留供将来使用。 |
返回值
S_OK,如果方法成功;否则错误代码。
备注
如果您的应用程序提供自动存储的文件使用默认MFC实现,应使用 RegisterWithRestartManager的简化版本。 如果要自定义应用程序,自动存储行为请使用 RegisterWithRestartManager 复杂的版本。
如果您调用了一个空字符串的此方法 strRestartIdentifier的,RegisterWithRestartManager 创建重新启动管理器的此实例的唯一标识符字符串。
在应用程序意外退出时,重新启动管理器会重新启动从命令行应用程序并提供唯一重新启动ID作为可选参数。 在此方案中,框架调用 RegisterWithRestartManager 两次。 第一次调用来自一个空字符串的 CWinApp::InitInstance 字符串标识符的。 然后,方法 CWinApp::ProcessShellCommand 调用与单个重新启动标识符的 RegisterWithRestartManager。
在注册重新启动管理器的应用程序,则重新启动管理器监视应用程序之后。 如果应用程序意外退出,则重新启动管理器称为回收回调函数在过程中关闭进程。 重新启动管理器等待 dwPingInterval 从还原回调函数的响应。 如果还原回调函数不是在此时间内响应,应用程序退出,不执行回收回调函数。
默认情况下,dwRestartFlags不受支持,但是提供了以后使用。 dwRestartFlags 的可能值如下:
RESTART_NO_CRASH
RESTART_NO_HANG
RESTART_NO_PATCH
RESTART_NO_REBOOT
要求
标头: afxwin.h
请参见
参考
CWinApp::SupportsRestartManager