錯誤記錄
Windows 硬體錯誤架構 (WHEA) 會使用標準錯誤記錄格式來代表所有平臺硬體錯誤。 因此,系統韌體、Windows 作業系統和使用者模式應用程式可以設計硬體錯誤報表和復原機制,這些機制全都以相同的錯誤記錄格式為基礎。
WHEA 所使用的錯誤記錄格式是以 一般平臺錯誤記錄 (CPER) 為基礎,如 統一可擴展韌體介面 (UEFI) 規格附錄 N 中所述。
下圖顯示錯誤記錄的一般格式。
錯誤記錄是由錯誤記錄標頭所組成,後面接著一或多個固定長度的錯誤記錄區段描述項。 針對每個錯誤記錄區段描述元,會有一個相關聯的可變長度錯誤記錄區段,其中包含錯誤資料或參考資料。 錯誤記錄必須包含至少一個錯誤記錄區段。
錯誤記錄可以包含額外的緩衝區空間,以便動態新增錯誤記錄區段和區段描述元。 額外的緩衝區空間也可以用來動態增加現有錯誤記錄區段的大小。
錯誤記錄是由 WHEA_ERROR_RECORD 結構描述,錯誤記錄標頭是由 WHEA_ERROR_RECORD_HEADER 結構所描述,而錯誤記錄區段描述項則分別由 WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 結構描述。
每個錯誤記錄區段可以是下列其中一個區段類型:
硬體錯誤封包
此錯誤記錄區段包含由低階硬體錯誤處理常式傳遞至作業系統的硬體錯誤封包, (LLHEH) 回報錯誤。 本節中包含的資料是由 WHEA_ERROR_PACKET 結構所描述。
一般處理器錯誤
這個錯誤記錄區段包含不是特定處理器架構專屬的處理器錯誤資料。 本節中包含的資料是由 WHEA_PROCESSOR_GENERIC_ERROR_SECTION 結構所描述。
x86/x64 處理器錯誤
這個錯誤記錄區段包含 x86 或 x64 處理器架構特定的處理器錯誤資料。 本節中包含的資料是由 WHEA_XPF_PROCESSOR_ERROR_SECTION 結構所描述。 下圖顯示包含處理器錯誤資料的資料結構如何儲存在 VariableInfo 成員中。
Itanium 處理器錯誤
這個錯誤記錄區段包含 Itanium 處理器架構特有的處理器錯誤資料。 如需此錯誤記錄中包含的錯誤資料格式詳細資訊,請參閱 Intel Itanium 處理器系列系統抽象層規格。
Itanium 處理器韌體錯誤記錄參考
這個錯誤記錄區段包含 Itanium 處理器架構專屬之韌體錯誤記錄的參考。 這個錯誤記錄區段是由 WHEA_FIRMWARE_ERROR_RECORD_REFERENCE 結構所描述。
平臺記憶體錯誤
這個錯誤記錄區段包含平臺記憶體錯誤資料。 本節中包含的資料是由 WHEA_MEMORY_ERROR_SECTION 結構所描述。
不可遮罩的插斷
此錯誤記錄區段包含 NMI) 資料 (非遮罩式插斷。 本節中包含的資料是由 WHEA_NMI_ERROR_SECTION 結構所描述。
PCI Express 錯誤
這個錯誤記錄區段包含 PCI Express 錯誤資料。 本節中包含的資料是由 WHEA_PCIEXPRESS_ERROR_SECTION 結構所描述。
PCI/PCI-X 匯流排錯誤
這個錯誤記錄區段包含 PCI/PCI-X 匯流排錯誤資料。 本節中包含的資料是由 WHEA_PCIXBUS_ERROR_SECTION 結構所描述。
PCI/PCI-X 裝置錯誤
此錯誤記錄區段包含 PCI/PCI-X 裝置錯誤資料。 本節中包含的資料是由 WHEA_PCIXDEVICE_ERROR_SECTION 結構所描述。
對於不符合上一個清單中的其中一個區段類型的其他硬體錯誤資料,可以定義平臺特定的錯誤記錄區段來包含資料。 針對定義的每種平臺特定錯誤記錄區段類型,必須定義識別錯誤記錄區段類型的對應 GUID。 這個 GUID 是在描述該錯誤記錄區段之任何WHEA_ERROR_RECORD_SECTION_DESCRIPTOR結構的SectionType成員中指定。
如果其他硬體錯誤資料無法放入上一個清單中的其中一個區段類型或已定義的平臺特定錯誤記錄區段,則會使用一般錯誤記錄區段來包含資料。