Udostępnij za pośrednictwem


CWinApp::RegisterWithRestartManager

Rejestruje Menedżer ponownego uruchamiania aplikacji.

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

Parametry

Parametr

Opis

[w]bRegisterRecoveryCallback

TRUEWskazuje, że to wystąpienie aplikacji korzysta z funkcji wywołania zwrotnego odzyskiwania; FALSEWskazuje, czy nie.Ramy wywołuje odzyskiwania funkcji wywołania zwrotnego, gdy aplikacja jest nieoczekiwanie.Aby uzyskać więcej informacji, zobacz CWinApp::ApplicationRecoveryCallback.

[w]strRestartIdentifier

Unikatowy ciąg, który identyfikuje wystąpienie Menedżer ponownego uruchamiania.Identyfikator menedżera ponownego uruchomienia jest unikatowy dla każdego wystąpienia aplikacji.

[w]pwzCommandLineArgs

Ciąg, który zawiera wszelkie dodatkowe argumenty z wiersza polecenia.

[w]dwRestartFlags

Opcjonalne flagi Menedżer ponownego uruchamiania.Aby uzyskać więcej informacji zobacz sekcję Spostrzeżenia.

[w]pRecoveryCallback

Funkcja wywołania zwrotnego.Ta funkcja musi podjąć LPVOID parametr jako danych wejściowych i powrotu DWORD.Jest to domyślna funkcja wywołania zwrotnego odzyskiwania CWinApp::ApplicationRecoveryCallback.

[w]lpvParam

Parametr wejściowy odzyskiwania funkcji wywołania zwrotnego.Aby uzyskać więcej informacji, zobacz CWinApp::ApplicationRecoveryCallback.

[w]dwPingInterval

Długość czas oczekiwania menedżera ponownego uruchomienia funkcji wywołania zwrotnego odzyskiwania powrócić.Ten parametr jest w milisekundach.

[w]dwCallbackFlags

Flagi przekazywane do funkcji wywołania zwrotnego odzyskiwania.Zarezerwowane do użytku w przyszłości.

Wartość zwracana

S_OKJeśli metoda jest pomyślne; w przeciwnym razie kod błędu.

Uwagi

Jeśli aplikacja używa Domyślna implementacja MFC autozapisywanie plików, należy używać prostych wersję RegisterWithRestartManager.Użyj wersji złożonych RegisterWithRestartManager , jeśli chcesz dostosować zachowanie autozapisywanie aplikacji.

Jeśli wywołanie tej metody z pusty ciąg dla strRestartIdentifier, RegisterWithRestartManager tworzy ciągu identyfikator unikatowy dla tego wystąpienia ponownego uruchomienia Menedżera.

Gdy aplikacja jest nieoczekiwanie, Menedżer ponownego uruchamiania uruchamia ponownie aplikację z wiersza polecenia i zawiera unikatowy identyfikator jako opcjonalny argument ponownie.W tym scenariuszu wywołuje ramach RegisterWithRestartManager dwa razy.Pierwsze wywołanie pochodzi z CWinApp::InitInstance z identyfikatora ciąg pusty ciąg.Następnie metoda CWinApp::ProcessShellCommand wywołania RegisterWithRestartManager z identyfikatorem unikatowy ponownego uruchomienia.

Po zarejestrowaniu wniosku o ponowne uruchomienie Menedżera Menedżer ponownego uruchamiania monitoruje aplikacji.Jeśli aplikacja jest nieoczekiwanie, Menedżer ponownego uruchamiania wywołuje funkcję wywołania zwrotnego odzyskiwania podczas procesu zamknięty.Uruchom ponownie czeka Menedżera dwPingInterval odpowiedź z funkcji wywołania zwrotnego odzyskiwania.Jeśli funkcja wywołania zwrotnego odzyskiwania nie odpowie w tej chwili, bez wykonywania funkcji wywołania zwrotnego odzyskiwania kończy pracę aplikacji.

Domyślnie dwRestartFlags nie są obsługiwane, ale są dostarczane do wykorzystania w przyszłości.Możliwe wartości dla dwRestartFlags są następujące:

  • RESTART_NO_CRASH

  • RESTART_NO_HANG

  • RESTART_NO_PATCH

  • RESTART_NO_REBOOT

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

Klasa CWinApp

Diagram hierarchii

CWinApp::SupportsRestartManager

CWinApp::ApplicationRecoveryCallback

Klasa CDataRecoveryHandler