Aracılığıyla paylaş


CWinApp::RegisterWithRestartManager

Uygulama yeniden başlatma Yöneticisi ile kaydeder.

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

Parametreler

Parametre

Description

[in]bRegisterRecoveryCallback

TRUEBu örnek uygulama kurtarma geri çağırma işlevini kullanır gösterir; FALSEyok olduğunu gösterir. Uygulamanın beklenmedik şekilde çıktığında framework kurtarma geri çağırma işlevini çağırır. Daha fazla bilgi için bkz. CWinApp::ApplicationRecoveryCallback.

[in]strRestartIdentifier

Yeniden başlatma Yöneticisi'ni bu örneğini tanımlayan benzersiz dize. Yeniden başlatma Yöneticisi'ni bir uygulama her örneği için benzersiz tanımlayıcısıdır.

[in]pwzCommandLineArgs

Komut satırından fazladan herhangi bir bağımsız değişken içeren bir dize.

[in]dwRestartFlags

İsteğe bağlı bayraklar için yeniden başlatma Yöneticisi'ni. Daha fazla bilgi için, Açıklamalar bölümüne bakın.

[in]pRecoveryCallback

Kurtarma geri çağrı işlevi. Bu işlevi gerçekleştirmeniz gereken bir LPVOID parametre olarak girdi ve dönüş bir DWORD. Varsayılan kurtarma geri çağrı işlevi CWinApp::ApplicationRecoveryCallback.

[in]lpvParam

Kurtarma geri çağrı işlevine giriş parametresi. Daha fazla bilgi için bkz. CWinApp::ApplicationRecoveryCallback.

[in]dwPingInterval

Kurtarma geri çağrı işlevi geri dönmek yeniden başlatma Yöneticisi'ni beklediği süre uzunluğu. Bu parametre milisaniyedir.

[in]dwCallbackFlags

Bayraklar kurtarma geri çağrı işlevine geçirildi. Daha sonraki kullanımlar için ayrılmış.

Dönüş Değeri

S_OKYöntem başarılı olursa; Aksi halde bir hata kodu.

Notlar

Uygulamanızın autosaving dosyalar için varsayılan mfc uygulaması kullanıyorsa, basit sürümü kullanmalısınız RegisterWithRestartManager. Karmaşık sürümünü kullanmak RegisterWithRestartManager uygulamanıza otomatik kaydetme davranışını özelleştirmek isterseniz.

Bu yöntem için boş bir dize ile çağrı strRestartIdentifier, RegisterWithRestartManager Yöneticisi yeniden'ın bu örneğinin benzersiz tanımlayıcı dizesi oluşturur.

Bir uygulamanın beklenmedik şekilde çıktığında, yeniden başlatma Yöneticisi'ni komut satırından uygulamasını yeniden başlatır ve benzersiz tanımlayıcı isteğe bağlı bağımsız olarak yeniden sağlar. Bu senaryoda, framework çağıran RegisterWithRestartManager iki kez. İlk çağrı geldiği CWinApp::InitInstance ile boş bir dize dize tanımlayıcısı. Ardından, yöntem CWinApp::ProcessShellCommand çağrıları RegisterWithRestartManager yeniden benzersiz tanımlayıcısı.

Uygulama yeniden başlatma Yöneticisi'yle Kayıt olduktan sonra yeniden başlatma Yöneticisi'ni uygulamayı izler. Uygulamanın beklenmedik şekilde çıkılıyor, yeniden başlatma Yöneticisi'ni kapatma işlemi sırasında kurtarma geri çağırma işlevini çağırır. Yeniden başlatma Yöneticisi beklediği dwPingInterval kurtarma geri çağrı işlevi için bir yanıt için. Kurtarma geri çağrı işlevi bu süre içinde yanıt vermezse, kurtarma geri arama işlevini çalıştırmadan uygulamadan çıkar.

Varsayılan olarak, dwRestartFlags desteklenmez, ancak gelecekte kullanılmak üzere sağlanmıştır. Olası değerler için dwRestartFlags aşağıdaki gibidir:

  • RESTART_NO_CRASH

  • RESTART_NO_HANG

  • RESTART_NO_PATCH

  • RESTART_NO_REBOOT

Gereksinimler

Başlık: afxwin.h

Ayrıca bkz.

Başvuru

CWinApp sınıfı

Hiyerarşi grafik

CWinApp::SupportsRestartManager

CWinApp::ApplicationRecoveryCallback

CDataRecoveryHandler sınıfı