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:

  1. 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.

  2. 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_PACKET_FLAGS

WHEA_ERROR_PACKET_V2

WHEA_ERROR_RECORD_SECTION_DESCRIPTOR

WHEA_ERROR_SEVERITY

WHEA_ERROR_SOURCE_TYPE

WHEA_ERROR_TYPE

WHEA_MEMORY_ERROR_SECTION

WHEA_NMI_ERROR_SECTION

WHEA_PCIEXPRESS_ERROR_SECTION

WHEA_PCIXBUS_ERROR_SECTION

WHEA_PCIXDEVICE_ERROR_SECTION

WHEA_PROCESSOR_GENERIC_ERROR_SECTION

WHEA_RAW_DATA_FORMAT