RegisterApplicationRestart 함수(winbase.h)
다시 시작할 애플리케이션의 활성 instance 등록합니다.
구문
HRESULT RegisterApplicationRestart(
[in, optional] PCWSTR pwzCommandline,
[in] DWORD dwFlags
);
매개 변수
[in, optional] pwzCommandline
애플리케이션을 다시 시작할 때 명령줄 인수를 지정하는 유니코드 문자열에 대한 포인터입니다. 지정할 수 있는 명령줄의 최대 크기는 RESTART_MAX_CMD_LINE 문자입니다. 명령줄에 실행 파일의 이름을 포함하지 마세요. 이 함수는 자동으로 추가합니다.
이 매개 변수가 NULL 이거나 빈 문자열인 경우 이전에 등록된 명령줄이 제거됩니다. 인수에 공백이 포함된 경우 인수 주위에 따옴표를 사용합니다.
[in] dwFlags
이 매개 변수는 다음 값 중 0개 이상일 수 있습니다.
반환 값
이 함수는 성공 또는 다음 오류 코드 중 하나에 대한 S_OK 반환합니다.
반환 코드 | 설명 |
---|---|
|
내부 오류입니다. |
|
지정한 명령줄이 너무 깁니다. |
설명
애플리케이션에서 처리되지 않은 예외가 발생하거나 응답하지 않게 되기 전에 다시 시작에 대한 초기 등록이 이뤄져야 합니다. 그런 다음 복구 콜백 내부에서 이 함수를 호출하여 명령줄을 업데이트할 수 있습니다.
업데이트되는 Windows 애플리케이션의 경우 이 함수를 호출할 수 있는 마지막 기회는 WM_QUERYENDSESSION 메시지를 처리하는 것입니다. 업데이트되는 콘솔 애플리케이션의 경우 설치 관리자가 애플리케이션을 종료하기 전에 등록이 발생해야 합니다(등록을 최신 상태로 유지해야 합니다. CTRL_C_EVENT 알림을 처리할 때 이 함수를 호출할 수 없음).
다시 시작에 등록하고 애플리케이션에 처리되지 않은 예외가 발생하거나 응답하지 않는 경우 사용자에게 애플리케이션을 다시 시작할 수 있는 기회가 제공됩니다. 사용자의 동의 없이 애플리케이션이 자동으로 다시 시작되지 않습니다. 그러나 애플리케이션이 업데이트되고 다시 시작해야 하는 경우 애플리케이션이 자동으로 다시 시작됩니다.
주기적 다시 시작을 방지하기 위해 시스템은 최소 60초 동안 실행된 경우에만 애플리케이션을 다시 시작합니다.
업데이트를 위해 컴퓨터를 다시 시작해야 할 때 애플리케이션을 다시 시작하려면 설치 관리자가 EWX_RESTARTAPPS 플래그 집합을 사용하여 ExitWindowsEx 함수를 호출하거나 SHUTDOWN_RESTARTAPPS 플래그가 설정된 InitiateShutdown 함수를 호출해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winbase.h(Windows.h 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기