共用方式為


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
);

參數

參數

描述

[in] bRegisterRecoveryCallback

TRUE 表示應用程式的執行個體會使用復原回呼函式, FALSE 表示它無法。 在應用程式意外結束時,架構會呼叫復原回呼函式。 如需詳細資訊,請參閱 CWinApp::ApplicationRecoveryCallback

[in] strRestartIdentifier

識別重新啟動管理員的這個執行個體的唯一字串。 重新啟動管理員識別為應用程式的每個執行個體是唯一的。

[in] pwzCommandLineArgs

包含從命令列的任何額外引數的字串。

[in] dwRestartFlags

重新啟動管理員的選擇性旗標。 如需詳細資訊,請參閱<備註>一節。

[in] pRecoveryCallback

復原回呼函式。 這個函式必須接受 LPVOID 參數做為輸入並傳回 DWORD。 預設復原回呼函式 (Callback CWinApp::ApplicationRecoveryCallback

[in] lpvParam

復原回呼函式的輸入參數。 如需詳細資訊,請參閱 CWinApp::ApplicationRecoveryCallback

[in] dwPingInterval

重新啟動管理員等候復原回呼函式傳回的時間。 這個參數是以毫秒為單位)。

[in] dwCallbackFlags

旗標傳遞至復原回呼函式。 保留供未來使用。

傳回值

S_OK ,如果方法成功,否則錯誤碼。

備註

如果您的應用程式會自動儲存的檔案使用的預設實作 MFC,您應該使用 RegisterWithRestartManager簡化版本。 如果您要自訂應用程式,自動儲存行為使用 RegisterWithRestartManager 複雜版本。

如果您只使用空字串的這個方法 strRestartIdentifier的, RegisterWithRestartManager 建立重新啟動管理員的這個執行個體的唯一識別項的字串。

在應用程式意外關閉時,重新啟動管理員重新從命令列啟動應用程式並提供唯一的重新啟動識別項做為選擇性引數。 在這個案例中,架構會呼叫 RegisterWithRestartManager 兩次。 第一個呼叫會將空字串的 CWinApp::InitInstance 字串識別項。 然後,方法 CWinApp::ProcessShellCommand 呼叫具有唯一的重新啟動識別項的 RegisterWithRestartManager

在您簽入使用重新啟動管理員之後的應用程式,重新啟動管理員監視應用程式。 如果應用程式意外關閉,重新啟動管理員在已關閉的過程中呼叫復原回呼函式。 重新啟動管理員等 dwPingInterval 從復原回呼函式 (Callback Function) 的回應。 如果復原回呼函式中不存在的時間內沒有回應,則應用程式會關閉,而不執行復原回呼函式。

根據預設, dwRestartFlags 不受支援,而是提供來供日後使用。 dwRestartFlags 的可能值如下:

  • RESTART_NO_CRASH

  • RESTART_NO_HANG

  • RESTART_NO_PATCH

  • RESTART_NO_REBOOT

需求

標題: afxwin.h

請參閱

參考

CWinApp 類別

階層架構圖

CWinApp::SupportsRestartManager

CWinApp::ApplicationRecoveryCallback

CDataRecoveryHandler 類別