WHEA_PROCESSOR_GENERIC_ERROR_SECTION 구조체(ntddk.h)
WHEA_PROCESSOR_GENERIC_ERROR_SECTION 구조는 특정 프로세서 아키텍처와 관련이 없는 프로세서 오류 데이터를 설명합니다.
구문
typedef struct _WHEA_PROCESSOR_GENERIC_ERROR_SECTION {
WHEA_PROCESSOR_GENERIC_ERROR_SECTION_VALIDBITS ValidBits;
UCHAR ProcessorType;
UCHAR InstructionSet;
UCHAR ErrorType;
UCHAR Operation;
UCHAR Flags;
UCHAR Level;
USHORT Reserved;
ULONGLONG CPUVersion;
UCHAR CPUBrandString[128];
ULONGLONG ProcessorId;
ULONGLONG TargetAddress;
ULONGLONG RequesterId;
ULONGLONG ResponderId;
ULONGLONG InstructionPointer;
} WHEA_PROCESSOR_GENERIC_ERROR_SECTION, *PWHEA_PROCESSOR_GENERIC_ERROR_SECTION;
멤버
ValidBits
이 구조체의 유효한 데이터가 포함된 멤버를 지정하는 WHEA_PROCESSOR_GENERIC_ERROR_SECTION_VALIDBITS 공용 구조체입니다.
ProcessorType
프로세서의 프로세서 아키텍처입니다.
이 멤버는 ValidBits 멤버의 ProcessorType 비트가 설정된 경우에만 유효한 데이터를 포함합니다.
값 | Description |
---|---|
GENPROC_PROCTYPE_XPF | x86/x64 프로세서 제품군 |
GENPROC_PROCTYPE_IPF | Intel Itanium 프로세서 제품군 |
InstructionSet
오류가 발생했을 때 실행 중인 명령 집합입니다.
이 멤버는 ValidBits 멤버의 InstructionSet 비트가 설정된 경우에만 유효한 데이터를 포함합니다.
값 | Description |
---|---|
GENPROC_PROCISA_X86 | x86 |
GENPROC_PROCISA_IPF | Itanium |
GENPROC_PROCISA_X64 | X64 |
ErrorType
발생한 오류의 형식입니다.
이 멤버는 ValidBits 멤버의 ErrorType 비트가 설정된 경우에만 유효한 데이터를 포함합니다.
값 | Description |
---|---|
GENPROC_PROCERRTYPE_UNKNOWN | 알 수 없는 오류 |
GENPROC_PROCERRTYPE_CACHE | 캐시 오류 |
GENPROC_PROCERRTYPE_TLB | 변환 lookaside 버퍼 오류 |
GENPROC_PROCERRTYPE_BUS | 버스 오류 |
GENPROC_PROCERRTYPE_MAE | Microarchitecture 오류 |
Operation
오류가 발생했을 때 실행 중인 작업의 유형입니다.
이 멤버는 ValidBits 멤버의 Operation 비트가 설정된 경우에만 유효한 데이터를 포함합니다.
값 | Description |
---|---|
GENPROC_OP_GENERIC | 알 수 없거나 제네릭 작업 |
GENPROC_OP_DATAREAD | 데이터 읽기 |
GENPROC_OP_DATAWRITE | 데이터 쓰기 |
GENPROC_OP_INSTRUCTIONEXE | 명령 실행 |
Flags
오류에 대한 추가 정보를 제공하는 플래그의 비트 단위 OR 조합입니다.
이 멤버는 ValidBits 멤버의 Flags 비트가 설정된 경우에만 유효한 데이터를 포함합니다.
값 | Description |
---|---|
GENPROC_FLAGS_RESTARTABLE | 오류 발생 후 프로그램 실행을 안정적으로 다시 시작할 수 있습니다. |
GENPROC_FLAGS_PRECISEIP | InstructionPointer 멤버의 명령 포인터는 오류와 직접 연결됩니다. |
GENPROC_FLAGS_OVERFLOW | 컴퓨터 검사 오버플로가 발생했습니다. 이는 이전 오류의 결과가 여전히 오류 보고 리소스에 있는 동안 두 번째 오류가 발생할 때 발생합니다. |
GENPROC_FLAGS_CORRECTED | 하드웨어 또는 펌웨어에서 오류를 수정했습니다. |
Level
오류가 발생한 구조체의 수준이며, 0은 가장 낮은 캐시 수준입니다.
이 멤버는 ValidBits 멤버의 Level 비트가 설정된 경우에만 유효한 데이터를 포함합니다.
Reserved
시스템에서 사용하도록 예약되었습니다.
CPUVersion
제품군, 모델 및 단계별 정보를 포함하는 CPU 버전입니다.
x86 및 x64 프로세서의 경우 이 멤버는 WHEA_PROCESSOR_FAMILY_INFO 공용 구조체를 포함합니다.
Itanium 프로세서의 경우 이 멤버는 CPUID 레지스터 3에 제공된 데이터를 포함합니다.
이 멤버는 ValidBits 멤버의 CPUVersion 비트가 설정된 경우에만 유효한 데이터를 포함합니다.
CPUBrandString[128]
CPU 브랜드 문자열입니다.
x86 및 x64 프로세서의 경우 이 멤버는 EAX가 입력 시 0x80000002 로 설정된 CPUID 명령을 실행한 후 입력 시 0x80000003 EAX로 설정된 CPUID 명령을 실행한 결과를 포함합니다. CPUID 명령에 대한 자세한 내용은 Intel 64 및 IA-32 아키텍처 소프트웨어 개발자 설명서를 참조하세요.
Itanium 프로세서의 경우 이 멤버는 PAL_BRAND_INFO 프로시저를 실행한 결과를 포함합니다.
이 멤버는 ValidBits 멤버의 CpuBrandString 비트가 설정된 경우에만 유효한 데이터를 포함합니다.
ProcessorId
시스템의 논리 프로세서를 고유하게 식별하는 식별자입니다.
x86 및 x64 프로세서의 경우 이 멤버는 로컬 APIC ID 레지스터에 프로그래밍된 값을 포함합니다.
Itanium 프로세서의 경우 이 멤버는 LID 레지스터에 프로그래밍된 값을 포함합니다.
이 멤버는 ValidBits 멤버의 ProcessorId 비트가 설정된 경우에만 유효한 데이터를 포함합니다.
TargetAddress
오류와 연결된 대상 주소입니다.
이 멤버는 ValidBits 멤버의 TargetAddress 비트가 설정된 경우에만 유효한 데이터를 포함합니다.
RequesterId
오류와 연결된 요청자를 고유하게 식별하는 식별자입니다.
이 멤버는 ValidBits 멤버의 RequesterId 비트가 설정된 경우에만 유효한 데이터를 포함합니다.
ResponderId
오류와 연결된 응답자를 고유하게 식별하는 식별자입니다.
이 멤버는 ValidBits 멤버의 ResponderId 비트가 설정된 경우에만 유효한 데이터를 포함합니다.
InstructionPointer
오류가 발생한 시점의 명령 포인터입니다.
이 멤버는 ValidBits 멤버의 InstructionPointer 비트가 설정된 경우에만 유효한 데이터를 포함합니다.
설명
WHEA_PROCESSOR_GENERIC_ERROR_SECTION 구조는 오류 레코드의 제네릭 프로세서 오류 섹션에 포함된 오류 데이터를 설명합니다. 오류 레코드에는 해당 오류 레코드의 오류 레코드 섹션을 설명하는 WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 구조체 중 하나의 SectionType 멤버에 PROCESSOR_GENERIC_ERROR_SECTION_GUID 포함되어 있는 경우에만 일반 프로세서 오류 섹션이 포함됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Server 2008, Windows Vista SP1 이상 버전의 Windows에서 지원됩니다. |
머리글 | ntddk.h |