용어와 정의
영문 또는 원어: NTSTATUS
한글명: 윈도우 NT 상태 값
NTSTATUS는 Windows 커널과 드라이버의 여러 작업에서 결과를 전달하는 상태 값의 체계입니다. 성공, 정보, 경고와 오류를 구분하며 예외나 중지 오류의 부가 정보에도 나타납니다.
정확한 의미와 원리
중지 오류 코드와 그 인수에 포함된 NTSTATUS는 역할이 다릅니다. 예를 들어 KERNEL_DATA_INPAGE_ERROR의 부가 상태는 데이터를 읽지 못한 이유를 좁히는 데 사용하며, 중지 코드 자체를 대신하지 않습니다.
쉽게 이해하는 사용 예시
0xC0000005는 잘못된 메모리 주소에 대한 읽기, 쓰기 또는 실행과 관련된 접근 위반입니다. 파일 접근 권한을 거부하는 0x80070005와 숫자 일부가 비슷해도 의미와 조치가 다릅니다.
종류와 관련 개념의 차이
성공 값은 STATUS_SUCCESS 하나만 있는 것이 아닙니다. 정보와 경고도 별도 범주이며 프로그램은 해당 API가 정의한 결과를 올바르게 해석해야 합니다. Win32 오류와의 대응이 필요한 경우 정해진 변환이나 공식 대응 자료를 확인합니다.
적용 조건과 오해하기 쉬운 점
프로그램 예외의 NTSTATUS와 블루스크린의 Bug check 값을 한 코드 목록으로 합쳐 해석하지 않습니다. Windows 빌드 및 대상 모듈에 맞는 문서와 덤프를 사용하며 숫자만으로 악성코드 감염이나 RAM 고장을 판정하지 않습니다.
관련 용어와 글
관련 기술자료
- 윈도우 오류 코드 찾아보기: 블루스크린부터 설치와 공유폴더까지
- SYSTEM_SERVICE_EXCEPTION (0x0000003B) 블루스크린 원인과 확인 방법
- KERNEL_DATA_INPAGE_ERROR (0x0000007A) 블루스크린 원인과 확인 방법
- 0xC0000005 메모리 접근 위반: 프로그램 오류와 블루스크린 구분
- KMODE_EXCEPTION_NOT_HANDLED (0x0000001E) 처리되지 않은 커널 모드 예외: 원인과 확인 방법
- SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (0x0000007E) 처리되지 않은 시스템 스레드 예외: 원인과 확인 방법
- UNEXPECTED_STORE_EXCEPTION (0x00000154) 커널 메모리 저장 구성요소의 예기치 않은 예외: 원인과 확인 방법
- STATUS_INVALID_IMAGE_FORMAT (0xC000007B): 잘못된 실행 이미지 형식 원인과 확인 방법
- STATUS_DLL_NOT_FOUND (0xC0000135): 필요한 DLL을 찾을 수 없음 원인과 확인 방법
- STATUS_DLL_INIT_FAILED (0xC0000142): DLL 초기화 실패 원인과 확인 방법