다음을 통해 공유


시스템 종료 이유 코드

종료 이유 코드는 dwReason 매개 변수의 ExitWindowsExInitiateSystemShutdownEx 함수에서 사용됩니다.

시스템에서 최대 MAX_NUM_REASONS 이유 코드를 처리합니다. MAX_NUM_REASONS reason.h에 정의되어 있습니다.

주요 이유 플래그는 다음과 같습니다. 일반적인 문제 유형을 나타냅니다.

상수/값 설명
SHTDN_REASON_MAJOR_APPLICATION
0x00040000
애플리케이션 문제.
SHTDN_REASON_MAJOR_HARDWARE
0x00010000
하드웨어 문제입니다.
SHTDN_REASON_MAJOR_LEGACY_API
0x00070000
InitiateSystemShutdown 함수는 InitiateSystemShutdownEx 대신 사용되었습니다.
SHTDN_REASON_MAJOR_OPERATINGSYSTEM
0x00020000
운영 체제 문제.
SHTDN_REASON_MAJOR_OTHER
0x00000000
기타 문제.
SHTDN_REASON_MAJOR_POWER
0x00060000
전원 오류가 발생했습니다.
SHTDN_REASON_MAJOR_SOFTWARE
0x00030000
소프트웨어 문제.
SHTDN_REASON_MAJOR_SYSTEM
0x00050000
시스템 오류.

다음은 사소한 이유 플래그입니다. 지정된 주된 이유 플래그를 수정합니다. 사소한 이유를 주요 이유와 함께 사용할 수 있지만 일부 조합은 의미가 없습니다.

상수/값 설명
SHTDN_REASON_MINOR_BLUESCREEN
0x0000000F
블루 스크린 크래시 이벤트.
SHTDN_REASON_MINOR_CORDUNPLUGGED
0x0000000b
분리.
SHTDN_REASON_MINOR_DISK
0x00000007
디스크를 선택해야 합니다.
SHTDN_REASON_MINOR_ENVIRONMENT
0x0000000c
환경입니다.
SHTDN_REASON_MINOR_HARDWARE_DRIVER
0x0000000d
드라이버.
SHTDN_REASON_MINOR_HOTFIX
0x00000011
핫 픽스.
SHTDN_REASON_MINOR_HOTFIX_UNINSTALL
0x00000017
핫 픽스 제거.
SHTDN_REASON_MINOR_HUNG
0x00000005
응답.
SHTDN_REASON_MINOR_INSTALLATION
0x00000002
설치.
SHTDN_REASON_MINOR_MAINTENANCE
0x00000001
유지 관리.
SHTDN_REASON_MINOR_MMC
0x00000019
MMC 문제.
SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY
0x00000014
네트워크 연결
SHTDN_REASON_MINOR_NETWORKCARD
0x00000009
네트워크 카드.
SHTDN_REASON_MINOR_OTHER
0x00000000
기타 문제.
SHTDN_REASON_MINOR_OTHERDRIVER
0x0000000e
기타 드라이버 이벤트입니다.
SHTDN_REASON_MINOR_POWER_SUPPLY
0x0000000a
전원 공급 장치.
SHTDN_REASON_MINOR_PROCESSOR
0x00000008
프로세서.
SHTDN_REASON_MINOR_RECONFIG
0x00000004
재구성.
SHTDN_REASON_MINOR_SECURITY
0x00000013
보안 문제.
SHTDN_REASON_MINOR_SECURITYFIX
0x00000012
보안 패치.
SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL
0x00000018
보안 패치 제거.
SHTDN_REASON_MINOR_SERVICEPACK
0x00000010
서비스 팩.
SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL
0x00000016
서비스 팩 제거.
SHTDN_REASON_MINOR_TERMSRV
0x00000020
터미널 서비스.
SHTDN_REASON_MINOR_UNSTABLE
0x00000006
불안정.
SHTDN_REASON_MINOR_UPGRADE
0x00000003
업그레이드.
SHTDN_REASON_MINOR_WMI
0x00000015
WMI 문제.

다음 선택적 플래그는 이벤트에 대한 추가 정보를 제공합니다.

상수/값 설명
SHTDN_REASON_FLAG_USER_DEFINED
0x40000000
이유 코드는 사용자가 정의합니다. 자세한 내용은 사용자 지정 이유 코드 정의를 참조하세요.
이 플래그가 없으면 시스템에서 이유 코드를 정의합니다.
SHTDN_REASON_FLAG_PLANNED
0x80000000
종료가 계획되었습니다. 시스템은 SSD(시스템 상태 데이터) 파일을 생성합니다. 이 파일에는 프로세스, 스레드, 메모리 사용량 및 구성과 같은 시스템 상태 정보가 포함되어 있습니다.
이 플래그가 없으면 종료가 계획되지 않았습니다. 알림 및 보고 옵션은 정책 집합에 의해 제어됩니다. 예를 들어 로그인한 후 정책이 사용하도록 설정된 경우 계획되지 않은 종료를 보고하는 대화 상자가 시스템에 표시됩니다. SSD 파일은 시스템에서 SSD 정책을 사용하는 경우에만 만들어집니다. 관리자는 Windows 오류 보고 사용하여 SSD 데이터를 중앙 위치 또는 Microsoft로 보낼 수 있습니다.

설명

시스템에서 인식되는 조합은 다음과 같습니다. 테이블은 Shutdown 이벤트 추적기에서 표시되는 문자열을 나타내며 보다 자세한 설명을 제공합니다. 기본 문자열은 "이러한 이유로 제목을 찾을 수 없습니다."입니다.

결합 Description
SHTDN_REASON_MAJOR_APPLICATION | SHTDN_REASON_MINOR_HUNG "애플리케이션: 응답하지 않음" 응답하지 않는 애플리케이션 문제를 해결하기 위한 계획되지 않은 다시 시작 또는 종료입니다.
SHTDN_REASON_MAJOR_APPLICATION | SHTDN_REASON_MINOR_INSTALLATION | SHTDN_REASON_FLAG_PLANNED "애플리케이션: 설치(계획됨)" 애플리케이션 설치를 수행하기 위한 계획된 다시 시작 또는 종료입니다.
SHTDN_REASON_MAJOR_APPLICATION | SHTDN_REASON_MINOR_MAINTENANCE "애플리케이션: 유지 관리(계획되지 않음)" 애플리케이션을 서비스하기 위한 계획되지 않은 다시 시작 또는 종료입니다.
SHTDN_REASON_MAJOR_APPLICATION | SHTDN_REASON_MINOR_MAINTENANCE | SHTDN_REASON_FLAG_PLANNED "애플리케이션: 유지 관리(계획됨)" 애플리케이션에서 계획된 유지 관리를 수행하기 위한 계획된 다시 시작 또는 종료입니다.
SHTDN_REASON_MAJOR_APPLICATION | SHTDN_REASON_MINOR_UNSTABLE "애플리케이션: 불안정" 불안정한 애플리케이션 문제를 해결하기 위한 계획되지 않은 다시 시작 또는 종료입니다.
SHTDN_REASON_MAJOR_HARDWARE | SHTDN_REASON_MINOR_INSTALLATION "하드웨어: 설치(계획되지 않음)" 하드웨어 설치를 시작하거나 완료하기 위한 계획되지 않은 다시 시작 또는 종료입니다.
SHTDN_REASON_MAJOR_HARDWARE | SHTDN_REASON_MINOR_INSTALLATION | SHTDN_REASON_FLAG_PLANNED "하드웨어: 설치(계획됨)" 하드웨어 설치를 시작하거나 완료하기 위한 계획된 다시 시작 또는 종료입니다.
SHTDN_REASON_MAJOR_HARDWARE | SHTDN_REASON_MINOR_MAINTENANCE "하드웨어: 유지 관리(계획되지 않음)" 시스템의 서비스 하드웨어에 대한 계획되지 않은 다시 시작 또는 종료입니다.
SHTDN_REASON_MAJOR_HARDWARE | SHTDN_REASON_MINOR_MAINTENANCE | SHTDN_REASON_FLAG_PLANNED "하드웨어: 유지 관리(계획됨)" 시스템의 서비스 하드웨어에 대한 계획된 다시 시작 또는 종료입니다.
SHTDN_REASON_MAJOR_LEGACY_API "레거시 API 종료" 이 종료는 레거시 InitiateSystemShutdown 함수에 의해 시작되었습니다. 애플리케이션은 InitiateSystemShutdownEx 함수를 사용해야 합니다.
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_HOTFIX "운영 체제: 핫 픽스(계획되지 않음)" 핫 픽스 설치를 위한 계획되지 않은 다시 시작 또는 종료입니다.
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_HOTFIX | SHTDN_REASON_FLAG_PLANNED "운영 체제: 핫 픽스(계획됨)" 핫 픽스 설치를 위한 계획된 다시 시작 또는 종료입니다.
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_RECONFIG "운영 체제: 재구성(계획되지 않음)" 운영 체제 구성을 변경하는 계획되지 않은 다시 시작 또는 종료입니다.
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_RECONFIG | SHTDN_REASON_FLAG_PLANNED "운영 체제: 재구성(계획됨)" 운영 체제 구성을 변경하기 위한 계획된 다시 시작 또는 종료입니다.
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_SECURITYFIX "운영 체제: 보안 수정(계획되지 않음)" 보안 패치를 설치하기 위한 계획되지 않은 다시 시작 또는 종료입니다.
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_SECURITYFIX | SHTDN_REASON_FLAG_PLANNED "운영 체제: 보안 수정(계획됨)" 보안 패치를 설치하기 위한 계획된 다시 시작 또는 종료입니다.
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_SERVICEPACK | SHTDN_REASON_FLAG_PLANNED "운영 체제: 서비스 팩(계획됨)" 서비스 팩을 설치하기 위한 계획된 다시 시작 또는 종료입니다.
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_UPGRADE | SHTDN_REASON_FLAG_PLANNED "운영 체제: 업그레이드(계획됨)" 운영 체제 구성을 업그레이드하기 위한 계획된 다시 시작 또는 종료입니다.
SHTDN_REASON_MAJOR_OTHER | SHTDN_REASON_MINOR_OTHER "기타(계획되지 않음)" 계획되지 않은 종료 또는 다시 시작입니다.
SHTDN_REASON_MAJOR_OTHER | SHTDN_REASON_MINOR_OTHER | SHTDN_REASON_FLAG_PLANNED "기타(계획됨)" 계획된 종료 또는 다시 시작.
SHTDN_REASON_MAJOR_OTHER | SHTDN_REASON_MINOR_HUNG "기타 오류: 시스템 응답 없음" 시스템이 응답하지 않게 되었습니다.
SHTDN_REASON_MAJOR_POWER | SHTDN_REASON_MINOR_CORDUNPLUGGED "전원 오류: 코드 분리됨" 컴퓨터가 분리되었습니다.
SHTDN_REASON_MAJOR_POWER | SHTDN_REASON_MINOR_ENVIRONMENT "전원 오류: 환경" 정전이 발생했습니다.
SHTDN_REASON_MAJOR_SYSTEM | SHTDN_REASON_MINOR_BLUESCREEN "시스템 오류: 중지 오류" 컴퓨터에 블루 스크린 크래시 이벤트가 표시되었습니다.
SHTDN_REASON_MAJOR_SYSTEM | SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY "네트워크 연결 손실(계획되지 않음)" 네트워크 연결 문제로 인해 컴퓨터를 종료해야 합니다.
SHTDN_REASON_MAJOR_SYSTEM | SHTDN_REASON_MINOR_SECURITY "보안 문제" 보안 문제로 인해 컴퓨터를 종료해야 합니다.

 

사용자 고유의 종료 이유를 정의하고 레지스트리에 추가할 수도 있습니다. 각 이유 코드는 다음 키에 레지스트리 값으로 저장되어야 합니다.HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Reliability\UserDefined\<default_system_language_ID>

이 키에는 xxxxx 형식의 값 이름이 포함됩니다. nnn; nnnnn. 세미콜론은 값 이름의 구성 요소를 구분합니다.

Xxxxx

다음 컨트롤 플래그 중 1~5개(다른 문자는 사용할 수 없음).

플래그 설명
P 계획된 종료; 그렇지 않으면 계획되지 않은 종료가 발생합니다.
C 주석이 필요합니다. 이 플래그는 S와 함께 사용해야 합니다.
b ID가 필요합니다. 이 플래그는 D와 함께 사용해야 합니다.
S 예상되는 종료 대화 상자를 표시합니다. S, D 또는 S와 D를 모두 사용해야 합니다.
D 예기치 않은 종료 대화 상자를 표시합니다. S, D 또는 S와 D를 모두 사용해야 합니다.

 

플래그가 사용되는 순서는 중요하지 않습니다. 예를 들어 CSP는 예상되는 종료 대화 상자가 표시되고 주석이 필요한 계획된 종료를 나타냅니다.

Nnn

주요 이유. 이 구성 요소는 64-255 범위의 숫자여야 합니다. 0-63 범위는 시스템에서 사용하도록 예약되어 있습니다.

nnnnnn

사소한 이유. 이 구성 요소는 0-65535 범위에 있어야 합니다.

사용자 지정 이유는 사용자 인터페이스에서 주 이유 번호로 정렬된 다음, 사소한 이유 번호로 정렬됩니다. 두 가지 사용자 지정 이유가 계획되어 있고 다른 하나는 계획되지 않은 한 동일한 주요 이유와 사소한 이유를 사용할 수 없습니다. 그렇지 않으면 시스템에서 첫 번째 instance 사용하고 다른 instance 무시합니다.

각 레지스트리 값에 대한 데이터는 \n\r로 구분된 두 개의 문자열입니다. 첫 번째 문자열은 종료 대화 상자에 표시되고 이벤트 로그에 기록될 제목 문자열입니다. 최대 크기는 64자입니다. 제목 문자열은 고유해야 합니다. 사용자 지정 타이틀은 시스템에서 정의한 표준 타이틀 또는 다른 사용자 지정 타이틀과 일치할 수 없습니다. 두 번째 문자열은 종료 대화 상자에 표시할 설명 문자열입니다. 선택 사항입니다. 최대 크기는 256자입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows XP [데스크톱 앱 | UWP 앱]
지원되는 최소 서버
Windows Server 2003 [데스크톱 앱 | UWP 앱]
헤더
Reason.h