WHEA_ERROR_PACKET_V1 structure (ntddk.h)
The WHEA_ERROR_PACKET_V1 structure describes the hardware error data that is passed to the operating system by a low-level hardware error handler (LLHEH).
The WHEA_ERROR_PACKET_V1 structure is supported in Windows Server 2008 and Windows Vista SP1.
For Windows 7 and later versions of Windows, use the WHEA_ERROR_PACKET_V2 structure.
Syntax
typedef struct _WHEA_ERROR_PACKET_V1 {
ULONG Signature;
WHEA_ERROR_PACKET_FLAGS Flags;
ULONG Size;
ULONG RawDataLength;
ULONGLONG Reserved1;
ULONGLONG Context;
WHEA_ERROR_TYPE ErrorType;
WHEA_ERROR_SEVERITY ErrorSeverity;
ULONG ErrorSourceId;
WHEA_ERROR_SOURCE_TYPE ErrorSourceType;
ULONG Reserved2;
ULONG Version;
ULONGLONG Cpu;
union {
WHEA_PROCESSOR_GENERIC_ERROR_SECTION ProcessorError;
WHEA_MEMORY_ERROR_SECTION MemoryError;
WHEA_NMI_ERROR_SECTION NmiError;
WHEA_PCIEXPRESS_ERROR_SECTION PciExpressError;
WHEA_PCIXBUS_ERROR_SECTION PciXBusError;
WHEA_PCIXDEVICE_ERROR_SECTION PciXDeviceError;
WHEA_PMEM_ERROR_SECTION PmemError;
} u;
WHEA_RAW_DATA_FORMAT RawDataFormat;
ULONG RawDataOffset;
UCHAR RawData[1];
} WHEA_ERROR_PACKET_V1, *PWHEA_ERROR_PACKET_V1, WHEA_ERROR_PACKET, *PWHEA_ERROR_PACKET;
Members
Signature
The signature of the hardware error packet. This member contains the value WHEA_ERROR_PACKET_V1_SIGNATURE.
Flags
A WHEA_ERROR_PACKET_FLAGS union that describes the error condition.
Size
The size, in bytes, of the hardware error packet, including the raw data.
RawDataLength
The length, in bytes, of the data that is contained in the RawData member.
Reserved1
Reserved for system use.
Context
Reserved for system use.
ErrorType
A WHEA_ERROR_TYPE-typed value that indicates the type of hardware component that reported the hardware error.
ErrorSeverity
A WHEA_ERROR_SEVERITY-typed value that indicates the severity of the error condition.
ErrorSourceId
The identifier of the error source that reported the hardware error.
ErrorSourceType
A WHEA_ERROR_SOURCE_TYPE-typed value that indicates the type of error source that reported the hardware error.
Reserved2
Reserved for system use.
Version
The version of the WHEA_ERROR_PACKET_V1 structure. This member contains the value WHEA_ERROR_PKT_V1VERSION.
Cpu
Reserved for system use.
u
A union consisting of the following members:
u.ProcessorError
A WHEA_PROCESSOR_GENERIC_ERROR_SECTION structure that describes processor error data. This member is used only when the ErrorType member is set to WheaErrTypeProcessor.
u.MemoryError
A WHEA_MEMORY_ERROR_SECTION structure that describes memory error data. This member is used only when the ErrorType member is set to WheaErrTypeMemory.
u.NmiError
A WHEA_NMI_ERROR_SECTION structure that describes nonmaskable interrupt (NMI) error data. This member is used only when the ErrorType member is set to WheaErrTypeNMI.
u.PciExpressError
A WHEA_PCIEXPRESS_ERROR_SECTION structure that describes PCI Express (PCIe) error data. This member is used only when the ErrorType member is set to WheaErrTypePCIExpress.
u.PciXBusError
A WHEA_PCIXBUS_ERROR_SECTION structure that describes PCI or PCI-X bus error data. This member is used only when the ErrorType member is set to WheaErrTypePCIXBus.
u.PciXDeviceError
A WHEA_PCIXDEVICE_ERROR_SECTION structure that describes PCI or PCI-X device error data. This member is used only when the ErrorType member is set to WheaErrTypePCIXDevice.
u.PmemError
RawDataFormat
A WHEA_RAW_DATA_FORMAT-typed value that indicates the format of the hardware error information that is contained in the RawData data buffer.
RawDataOffset
An offset, in bytes, from the beginning of the RawData data buffer where a PSHED plug-in can add supplementary platform-specific error information to the hardware error packet. The amount of supplementary information that can be added to the hardware error packet is limited by the total size of the packet as specified in the Size member.
RawData[1]
A variable-sized data buffer that contains the raw hardware error information from the error source's status registers. The format of the hardware error data is specified by the RawDataFormat member.
Remarks
The WHEA_ERROR_PACKET_V1 structure is used to report a hardware error in Windows Server 2008 and Windows Vista SP1.
If your platform-specific hardware error driver (PSHED) plug-ins run on any WHEA-compatible Windows version, You can inspect the version of WHEA_ERROR_PACKET by following these steps:
If the Signature member for the WHEA_ERROR_PACKET equals WHEA_ERROR_PACKET_V1_SIGNATURE, the code is running on an early version of Windows, and the error packet is formatted as a WHEA_ERROR_PACKET_V1 structure.
If the Signature member for the WHEA_ERROR_PACKET equals WHEA_ERROR_PACKET_V2_SIGNATURE, the code is running on a later version of Windows, and the error packet is formatted as a WHEA_ERROR_PACKET_V2 structure.
An LLHEH passes a WHEA_ERROR_PACKET_V1 structure to the operating system when it reports a hardware error. This hardware error packet contains the raw hardware error data direct from the error source's error status registers.
The WHEA_ERROR_PACKET_V1 structure describes the error data that is contained in a hardware error packet error section of an error record. An error record contains a hardware error packet error section only if the SectionType member of one of the WHEA_ERROR_RECORD_SECTION_DESCRIPTOR structures that describe the error record sections for that error record contains WHEA_PACKET_SECTION_GUID.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Supported in Windows Server 2008 and Windows Vista SP1. |
Header | ntddk.h (include Ntddk.h) |
See also
Platform-Specific Hardware Error Driver (PSHED) Plug-Ins
WHEA_ERROR_RECORD_SECTION_DESCRIPTOR