(ntddk.h) WHEA_PROCESSOR_GENERIC_ERROR_SECTION 结构

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 微体系结构错误

Operation

发生错误时正在执行的操作的类型。

仅当设置了 ValidBits 成员的操作位时,此成员才包含有效数据。

说明
GENPROC_OP_GENERIC 未知或泛型操作
GENPROC_OP_DATAREAD 数据读取
GENPROC_OP_DATAWRITE 数据写入
GENPROC_OP_INSTRUCTIONEXE 指令执行

Flags

标志的按位 OR 组合,提供有关错误的其他信息。

仅当设置了 ValidBits 成员的 Flags 位时,此成员才包含有效数据。

说明
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,然后在输入时将 EAX 设置为 0x80000003 的情况下执行 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

另请参阅

WHEA_ERROR_PACKET

WHEA_ERROR_RECORD_SECTION_DESCRIPTOR

WHEA_PROCESSOR_FAMILY_INFO

WHEA_PROCESSOR_GENERIC_ERROR_SECTION_VALIDBITS