Windows Vista에 대한 종료 변경 내용
다음 표에서는 Windows Vista에서 종료와 Windows XP의 차이점을 요약합니다.
기능 | Windows XP | Windows Vista |
---|---|---|
종료 차단 | 애플리케이션은 5초 동안 WM_QUERYENDSESSION 응답을 지연시킬 수 있으며, 시스템은 사용자가 애플리케이션을 종료할 수 있도록 허용합니다. WM_QUERYENDSESSION 대한 응답으로 TRUE를 반환하는 애플리케이션은 5초 동안 WM_ENDSESSION 응답을 지연시킬 수 있으며, 시스템에서는 사용자가 애플리케이션을 종료할 수 있습니다. | 애플리케이션은 5초 동안 WM_QUERYENDSESSION 응답을 지연할 수 있으며, 시스템에서는 사용자가 종료를 계속하거나 취소할 수 있습니다. WM_QUERYENDSESSION 대한 응답으로 TRUE를 반환하는 애플리케이션은 5초 동안 WM_ENDSESSION 응답을 지연할 수 있으며, 시스템에서는 사용자가 종료를 계속하거나 취소할 수 있습니다. |
종료 취소 | 애플리케이션이 WM_QUERYENDSESSION 대한 응답으로 FALSE를 반환하는 경우 대부분의 경우 종료가 취소됩니다. 그러나 UI가 표시되지 않으므로 사용자가 종료가 취소되었음을 인식하지 못할 수 있습니다. | 애플리케이션이 WM_QUERYENDSESSION 대한 응답으로 FALSE를 반환하는 경우에도 종료 UI에 표시됩니다. 시스템에서는 표시되는 창이 없는 콘솔 애플리케이션 또는 애플리케이션이 종료를 취소하는 것을 허용하지 않습니다. 이러한 애플리케이션은 5초 이내에 WM_QUERYENDSESSION 또는 WM_ENDSESSION 응답하지 않거나 WM_QUERYENDSESSION 대한 응답으로 FALSE를 반환하는 경우 자동으로 종료됩니다. |
사용자 인터페이스 종료 | 시스템에서 종료를 차단하는 각 애플리케이션에 대한 대화 상자를 표시합니다. 사용자가 지금 종료 단추를 클릭하면 애플리케이션이 종료됩니다. 사용자가 취소 단추를 클릭하면 종료가 취소되고 애플리케이션이 계속 실행됩니다. | 시스템은 종료를 차단하는 모든 애플리케이션과 종료 이유를 식별하는 전체 화면 UI를 표시합니다( ShutdownBlockReasonCreate를 사용하여 이유를 등록한 경우). |
모범 사례
- 애플리케이션은 종료를 차단해서는 안 됩니다. 가능한 한 빨리 WM_QUERYENDSESSION 응답하고 WM_ENDSESSION 메시지를 처리할 때까지 정리 작업을 연기합니다.
- 종료를 차단해야 하는 애플리케이션은 새 ShutdownBlockReasonCreate 함수를 사용하여 사용자에게 이유를 설명하는 문자열을 등록해야 합니다. 사용자는 종료를 계속할지 취소할지 결정할 수 있습니다.
- 애플리케이션은 종료를 차단할 수 없습니다.