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 成員的 Operation 位時,這個成員才會包含有效的數據。
價值 | 描述 |
---|---|
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,然後執行 CPUID 指令,並將 EAX 設定為輸入0x80000003。 如需 CPUID 指示的詳細資訊,請參閱 Intel 64 和 IA-32 架構軟體開發人員手冊
針對Itanium處理器,此成員包含執行 PAL_BRAND_INFO 程序的結果。
只有當已設定 ValidBits 成員的 CpuBrandString 位時,這個成員才會包含有效的數據。
ProcessorId
可唯一識別系統中邏輯處理器的標識碼。
針對 x86 和 x64 處理器,此成員包含程式設計為本機 APIC ID 快取器的值。
若為 Itanium 處理器,此成員包含程式設計成 LID 快取器的值。
只有當已設定 ValidBits 成員的 ProcessorId 位時,這個成員才會包含有效的數據。
TargetAddress
與錯誤相關聯的目標位址。
只有當 TargetAddress 位 ValidBits 成員設定時,這個成員才會包含有效的數據。
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 |