WHEA Hardware Error Events (Windows Server 2008, Windows Vista SP1 and Later)
Beginning with Windows Server 2008 and Windows Vista SP1, when a hardware error occurs, the operating system creates an error record that describes the error condition and sends an event tracing for Windows (ETW) event that contains the error record to user mode. The format of the error record is based on the Common Platform Error Record as described in Appendix N of version 2.2 of the Unified Extensible Firmware Interface (UEFI) Specification. The operating system creates an error-specific hardware error event from the ETW hardware error event, and logs the error-specific event in the system event log.
User-mode applications can be written to process WHEA error records by either registering for notification of the ETW events sent by the operating system or by querying the system event log for the error-specific WHEA hardware error events.
The WHEA hardware error events that are defined and the data templates that are used to describe the hardware error events are different for the ETW hardware error events that the operating system sends up to user mode and for the error-specific hardware error events that are logged in the system event log.
WHEA ETW Hardware Error Events
Beginning with Windows Server 2008 and Windows Vista SP1, the GUID for the provider of the WHEA ETW hardware error events that the operating system sends up to user mode is WHEA_ETW_PROVIDER. The name for the provider is Microsoft-Windows-Kernel-WHEA.
The following table describes the WHEA ETW hardware error event that is defined for Windows Server 2008, Windows Vista SP1 and later versions of Windows.
| Event | Description |
|---|---|
EVENT_WHEA_ERROR |
ETW hardware error event. |
The WHEA ETW hardware error event has an associated event identifier. An application can determine if a received WHEA ETW event is a hardware error event by examining the EventID system value that is associated with the WHEA ETW event. The WHEA ETW hardware error event uses a data template to describe the hardware error data that is associated with the event.
The following table lists the event identifier and the data template that is associated with the WHEA ETW hardware error event.
| Event | Event ID | Data template |
|---|---|---|
EVENT_WHEA_ERROR |
20 |
WHEAEvent |
The data template is described in the following section.
Note This data template is used only for Windows Server 2008, Windows Vista SP1, and later versions of Windows. For more information about the data templates used for Windows Vista, see WHEA Hardware Error Events (Windows Vista).
WHEA Error-Specific Hardware Error Events
Beginning with Windows Server 2008 and Windows Vista SP1, the GUID for the provider of the WHEA error-specific hardware error events that are logged in the system event log is WHEA_TS_ETW_PROVIDER. The name for the provider is Microsoft-Windows-WHEA-Logger.
The following table describes each of the WHEA error-specific hardware error events that are defined for Windows Server 2008, Windows Vista SP1, and later versions of Windows.
| Event | Description |
|---|---|
WHEALOGR_DEFAULT_ERROR |
Generic uncorrected hardware error. |
WHEALOGR_DEFAULT_WARNING |
Generic corrected hardware error. |
WHEALOGR_DEFAULT_INFO |
Generic error information. |
WHEALOGR_PCIE_ERROR |
Uncorrected PCI Express error. |
WHEALOGR_PCIE_WARNING |
Corrected PCI Express error. |
WHEALOGR_XPF_MCA_ERROR |
Uncorrected machine check error. |
WHEALOGR_XPF_MCA_WARNING |
Corrected machine check error. |
WHEALOGR_XPF_AMD64NB_MCA_ERROR |
Uncorrected AMD64 northbridge machine check error. |
WHEALOGR_XPF_AMD64NB_MCA_WARNING |
Corrected AMD64 northbridge machine check error. |
WHEALOGR_PLATFORM_MEMORY_ERROR |
Uncorrected platform memory error. |
WHEALOGR_PLATFORM_MEMORY_WARNING |
Corrected platform memory error. |
WHEALOGR_PCIXBUS_ERROR |
Uncorrected PCI/PCI-X bus error. |
WHEALOGR_PCIXBUS_WARNING |
Corrected PCI/PCI-X bus error. |
WHEALOGR_PCIXDEVICE_ERROR |
Uncorrected PCI/PCI-X device error. |
WHEALOGR_PCIXDEVICE_WARNING |
Corrected PCI/PCI-X device error. |
All these hardware error events are recorded in the system event log.
WHEA Error-Specific Hardware Error Identifiers
Each of the WHEA error-specific hardware error events has an associated event identifier. An application can determine which types of errors have occurred by examining the EventID system value that is associated with each WHEA error-specific hardware error event found in the system event log.
The following table lists the event identifier and the data template that is associated with each of the WHEA error-specific hardware error events that are defined for Windows Server 2008, Windows Vista SP1, and later versions of Windows.
| Event | Event ID | Data template |
|---|---|---|
WHEALOGR_DEFAULT_ERROR |
1 |
tidDefaultError |
WHEALOGR_DEFAULT_WARNING |
2 |
tidDefaultError |
WHEALOGR_DEFAULT_INFO |
3 |
tidDefaultError |
WHEALOGR_PCIE_ERROR |
16 |
tidPCIExpressError |
WHEALOGR_PCIE_WARNING |
17 |
tidPCIExpressError |
WHEALOGR_XPF_MCA_ERROR |
18 |
tidMachineCheck |
WHEALOGR_XPF_MCA_WARNING |
19 |
tidMachineCheck |
WHEALOGR_XPF_AMD64NB_MCA_ERROR |
20 |
tidAMD64NBMachineCheck |
WHEALOGR_XPF_AMD64NB_MCA_WARNING |
21 |
tidAMD64NBMachineCheck |
WHEALOGR_PLATFORM_MEMORY_ERROR |
22 |
tidPlatformMemoryError |
WHEALOGR_PLATFORM_MEMORY_WARNING |
23 |
tidPlatformMemoryError |
WHEALOGR_PCIXBUS_ERROR |
24 |
tidPciXBusError |
WHEALOGR_PCIXBUS_WARNING |
25 |
tidPciXBusError |
WHEALOGR_PCIXDEVICE_ERROR |
26 |
tidPciXDeviceError |
WHEALOGR_PCIXDEVICE_WARNING |
27 |
tidPciXDeviceError |
WHEA Error-Specific Hardware Error Events (Windows 7 and Later Versions of Windows)
Beginning with Windows 7, additional WHEA error-specific hardware error events are defined. The following table describes each of the WHEA error-specific hardware error events that are defined for Windows 7 and later versions of Windows.
| Event | Description |
|---|---|
WHEALOGR_IPF_MCA_ERROR |
Uncorrected Itanium machine check error. |
WHEALOGR_IPF_MCA_WARNING |
Corrected Itanium machine check error. |
WHEALOGR_PCIE_NODEVICEID_ERROR |
Uncorrected PCI Express error. |
WHEALOGR_PCIE_NODEVICEID_WARNING |
Corrected PCI Express error. |
WHEALOGR_PCIXBUS_NODEVICEID_ERROR |
Uncorrected PCI/PCI-X bus error. |
WHEALOGR_PCIXBUS_NODEVICEID_WARNING |
Corrected PCI/PCI-X bus error. |
WHEALOGR_PCIXDEVICE_NODEVICEID_ERROR |
Uncorrected PCI/PCI-X device error. |
WHEALOGR_PCIXDEVICE_NODEVICEID_WARNING |
Corrected PCI/PCI-X device error. |
WHEALOGR_PLATFORM_MEMORY_NOTYPE_ERROR |
Uncorrected platform memory error of an undetermined type. |
WHEALOGR_PLATFORM_MEMORY_NOTYPE_WARNING |
Corrected platform memory error of an undetermined type. |
All these hardware error events are recorded in the system event log.
WHEA Error-Specific Hardware Error Identifiers (Windows 7 and Later Versions of Windows)
Beginning with Windows 7, additional WHEA error events identifiers are defined. The following table lists the event identifier and the data template that is associated with each of the WHEA error-specific hardware error events that are defined for Windows 7 and later versions of Windows.
| Event | Event ID | Data template |
|---|---|---|
WHEALOGR_IPF_MCA_ERROR |
38 |
tidIpfCheckInfo |
WHEALOGR_IPF_MCA_WARNING |
39 |
tidIpfCheckInfo |
WHEALOGR_PCIE_NODEVICEID_ERROR |
40 |
tidPCIExpressError |
WHEALOGR_PCIE_NODEVICEID_WARNING |
41 |
tidPCIExpressError |
WHEALOGR_PCIXBUS_NODEVICEID_ERROR |
42 |
tidPciXBusError |
WHEALOGR_PCIXBUS_NODEVICEID_WARNING |
43 |
tidPciXBusError |
WHEALOGR_PCIXDEVICE_NODEVICEID_ERROR |
44 |
tidPciXDeviceError |
WHEALOGR_PCIXDEVICE_NODEVICEID_WARNING |
45 |
tidPciXDeviceError |
WHEALOGR_PLATFORM_MEMORY_NOTYPE_ERROR |
46 |
tidPlatformMemoryError |
WHEALOGR_PLATFORM_MEMORY_NOTYPE_WARNING |
47 |
tidPlatformMemoryError |
WHEA Error-Specific Hardware Error Event Data Templates
Each of the data templates is described in the following sections.