共用方式為


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 翻譯外觀緩衝區錯誤
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'ed 組合,可提供錯誤的其他資訊。

只有當已設定 ValidBits 成員的 Flags 位時,這個成員才會包含有效的數據。

Description
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 Register 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 識別符緩存器的值。

  • 針對Itanium處理器,此成員包含程式設計成 LID 快取器的值。

只有當已設定 ValidBits 成員的 ProcessorId 位時,這個成員才會包含有效的數據。

TargetAddress

與錯誤相關聯的目標位址。

只有當已設定 ValidBits 成員的 TargetAddress 位時,這個成員才會包含有效的數據。

RequesterId

唯一識別與錯誤相關聯之要求者的標識碼。

只有當已設定 ValidBits 成員的 RequesterId 位時,這個成員才會包含有效的數據。

ResponderId

唯一識別與錯誤相關聯之回應程式的標識碼。

只有當已設定 ValidBits 成員的 ResponderId 位時,這個成員才會包含有效的數據。

InstructionPointer

發生錯誤的指令指標。

只有當已設定 ValidBits 成員的 InstructionPointer 位時,這個成員才會包含有效的數據。

備註

WHEA_PROCESSOR_GENERIC_ERROR_SECTION 結構描述錯誤記錄中一般處理器錯誤區段中所包含的錯誤數據。 只有在其中一個描述該錯誤記錄的錯誤記錄區段包含PROCESSOR_GENERIC_ERROR_SECTION_GUID之WHEA_ERROR_RECORD_SECTION_DESCRIPTOR結構的 SectionType 成員時,錯誤記錄才會包含泛型處理器錯誤區段。

規格需求

需求
最低支援的用戶端 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