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 位时,此成员才包含有效数据。
价值 | 描述 |
---|---|
GENPROC_PROCTYPE_XPF | x86/x64 处理器系列 |
GENPROC_PROCTYPE_IPF | Intel Itanium 处理器系列 |
InstructionSet
发生错误时正在执行的指令集。
仅当设置了 ValidBits 成员的 InstructionSet 位时,此成员才包含有效数据。
价值 | 描述 |
---|---|
GENPROC_PROCISA_X86 | x86 |
GENPROC_PROCISA_IPF | Itanium |
GENPROC_PROCISA_X64 | x64 |
ErrorType
发生的错误类型。
仅当设置了 ValidBits 成员的 ErrorType 位时,此成员才包含有效数据。
价值 | 描述 |
---|---|
GENPROC_PROCERRTYPE_UNKNOWN | 未知错误 |
GENPROC_PROCERRTYPE_CACHE | 缓存错误 |
GENPROC_PROCERRTYPE_TLB | 翻译旁观缓冲区错误 |
GENPROC_PROCERRTYPE_BUS | 总线错误 |
GENPROC_PROCERRTYPE_MAE | Microarchitecture 错误 |
Operation
发生错误时正在执行的作的类型。
仅当 作 位 ValidBits 成员设置时,此成员才包含有效数据。
价值 | 描述 |
---|---|
GENPROC_OP_GENERIC | 未知或泛型作 |
GENPROC_OP_DATAREAD | 读取数据 |
GENPROC_OP_DATAWRITE | 数据写入 |
GENPROC_OP_INSTRUCTIONEXE | 指令执行 |
Flags
标志的按位 OR 组合,提供有关错误的其他信息。
仅当设置了 ValidBits 成员 位 标志时,此成员才包含有效数据。
价值 | 描述 |
---|---|
GENPROC_FLAGS_RESTARTABLE | 错误后,可以可靠地重启程序执行。 |
GENPROC_FLAGS_PRECISEIP | InstructionPointer 成员中的指令指针直接与错误相关联。 |
GENPROC_FLAGS_OVERFLOW | 发生计算机检查溢出。 当发生第二个错误时,出现之前错误的结果仍在报告资源的错误中时,就会发生这种情况。 |
GENPROC_FLAGS_CORRECTED | 硬件或固件更正了此错误。 |
Level
发生错误的结构的级别,零是缓存的最低级别。
仅当设置了 ValidBits 成员的 Level 位时,此成员才包含有效数据。
Reserved
保留供系统使用。
CPUVersion
CPU 版本,包括系列、模型和单步执行信息。
对于 x86 和 x64 处理器,此成员包含 WHEA_PROCESSOR_FAMILY_INFO 联合。
对于 Itanium 处理器,此成员包含 CPUID 寄存器 3 中提供的数据。
仅当设置了 ValidBits 成员的 CPUVersion 位时,此成员才包含有效数据。
CPUBrandString[128]
CPU 品牌字符串。
对于 x86 和 x64 处理器,此成员包含执行 CPUID 指令的结果,其中 EAX 设置为0x80000002输入,然后执行 CPUID 指令,并将 EAX 设置为0x80000003输入。 有关 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 结构描述了 错误记录的泛型处理器错误节中包含的错误数据。 仅当 SectionType 一个 WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 结构的成员(描述该错误记录的错误记录部分包含 PROCESSOR_GENERIC_ERROR_SECTION_GUID)时,错误记录才包含泛型处理器错误节。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 在 Windows Server 2008、Windows Vista SP1 和更高版本的 Windows 中受支持。 |
标头 | ntddk.h |