다음을 통해 공유


오류 레코드

Windows WHEA(하드웨어 오류 아키텍처)는 표준 오류 레코드 형식을 사용하여 모든 플랫폼 하드웨어 오류를 나타냅니다. 따라서 시스템 펌웨어, Windows 운영 체제 및 사용자 모드 애플리케이션은 모두 동일한 오류 레코드 형식을 기반으로 하는 하드웨어 오류 보고 및 복구 메커니즘을 설계할 수 있습니다.

WHEA에서 사용하는 오류 레코드의 형식은 UEFI(Unified Extensible Firmware Interface) 사양 버전 2.2의 부록 N에 설명된 대로 CPER(Common Platform Error Record)를 기반으로 합니다.

다음 다이어그램에서는 오류 레코드의 일반적인 형식을 보여 드립니다.

오류 레코드의 일반적인 형식을 보여 주는 다이어그램

오류 레코드는 오류 레코드 헤더 뒤에 하나 이상의 고정 길이 오류 레코드 섹션 설명자로 구성됩니다. 각 오류 레코드 섹션 설명자에는 오류 데이터 또는 정보 데이터를 포함하는 연결된 가변 길이 오류 레코드 섹션이 있습니다. 오류 레코드에는 하나 이상의 오류 레코드 섹션이 포함되어야 합니다.

오류 레코드에는 오류 레코드 섹션 및 섹션 설명자를 동적으로 추가할 수 있는 추가 버퍼 공간이 포함될 수 있습니다. 추가 버퍼 공간을 사용하여 기존 오류 레코드 섹션의 크기를 동적으로 늘릴 수도 있습니다.

오류 레코드는 WHEA_ERROR_RECORD 구조로 설명되고, 오류 레코드 헤더는 WHEA_ERROR_RECORD_HEADER 구조로 설명되며, 오류 레코드 섹션 설명자는 각각 WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 구조로 설명됩니다.

각 오류 레코드 섹션은 다음 섹션 유형 중 하나일 수 있습니다.

하드웨어 오류 패킷
이 오류 레코드 섹션에는 오류를 보고한 하위 수준 LLHEH(하드웨어 오류 처리기)에 의해 운영 체제에 전달된 하드웨어 오류 패킷이 포함되어 있습니다. 이 섹션에 포함된 데이터는 WHEA_ERROR_PACKET 구조에 설명되어 있습니다.

일반 프로세서 오류
이 오류 레코드 섹션에는 특정 프로세서 아키텍처와 관련이 없는 프로세서 오류 데이터가 포함되어 있습니다. 이 섹션에 포함된 데이터는 WHEA_PROCESSOR_GENERIC_ERROR_SECTION 구조에 설명되어 있습니다.

x86/x64 프로세서 오류
이 오류 레코드 섹션에는 x86 또는 x64 프로세서 아키텍처와 관련된 프로세서 오류 데이터가 포함되어 있습니다. 이 섹션에 포함된 데이터는 WHEA_XPF_PROCESSOR_ERROR_SECTION 구조에 설명되어 있습니다. 다음 다이어그램에서는 프로세서 오류 데이터를 포함하는 데이터 구조가 VariableInfo 멤버에 저장되는 방법을 보여 줍니다.

프로세서 오류 데이터입니다.

Itanium 프로세서 오류
이 오류 레코드 섹션에는 Itanium 프로세서 아키텍처와 관련된 프로세서 오류 데이터가 포함되어 있습니다. 이 오류 레코드 섹션에 포함된 오류 데이터의 형식에 대한 자세한 내용은 Intel Itanium Processor 제품군 시스템 추상화 계층 사양을 참조하세요.

Itanium 프로세서 펌웨어 오류 레코드 참조
이 오류 레코드 섹션에는 Itanium 프로세서 아키텍처와 관련된 펌웨어 오류 레코드에 대한 참조가 포함되어 있습니다. 이 오류 레코드 섹션은 WHEA_FIRMWARE_ERROR_RECORD_REFERENCE 구조에 설명되어 있습니다.

플랫폼 메모리 오류
이 오류 레코드 섹션에는 플랫폼 메모리 오류 데이터가 포함되어 있습니다. 이 섹션에 포함된 데이터는 WHEA_MEMORY_ERROR_SECTION 구조에 설명되어 있습니다.

마스크할 수 없는 인터럽트
이 오류 레코드 섹션에는 NMI(마스크할 수 없는 인터럽트) 데이터가 포함되어 있습니다. 이 섹션에 포함된 데이터는 WHEA_NMI_ERROR_SECTION 구조에 설명되어 있습니다.

PCI Express 오류
이 오류 레코드 섹션에는 PCI Express 오류 데이터가 포함되어 있습니다. 이 섹션에 포함된 데이터는 WHEA_PCIEXPRESS_ERROR_SECTION 구조에 설명되어 있습니다.

PCI/PCI-X 버스 오류
이 오류 레코드 섹션에는 PCI/PCI-X 버스 오류 데이터가 포함되어 있습니다. 이 섹션에 포함된 데이터는 WHEA_PCIXBUS_ERROR_SECTION 구조에 설명되어 있습니다.

PCI/PCI-X 디바이스 오류
이 오류 레코드 섹션에는 PCI/PCI-X 디바이스 오류 데이터가 포함되어 있습니다. 이 섹션에 포함된 데이터는 WHEA_PCIXDEVICE_ERROR_SECTION 구조체에 설명되어 있습니다.

이전 목록의 섹션 유형 중 하나에 맞지 않는 추가 하드웨어 오류 데이터의 경우 데이터를 포함하도록 플랫폼별 오류 레코드 섹션을 정의할 수 있습니다. 정의된 플랫폼별 오류 레코드 섹션의 각 유형에 대해 오류 레코드 섹션의 형식을 식별하는 해당 GUID를 정의해야 합니다. 이 GUID는 해당 유형의 오류 레코드 섹션을 설명하는 모든 WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 구조체의 SectionType 멤버에 지정됩니다.

이전 목록의 섹션 유형 중 하나 또는 정의된 플랫폼별 오류 레코드 섹션에 맞지 않는 추가 하드웨어 오류 데이터가 있는 경우 일반 오류 레코드 섹션을 사용하여 데이터를 포함합니다.