WHEA_ERROR_PACKET_V1 结构 (ntddk.h)

WHEA_ERROR_PACKET_V1结构描述由低级别硬件错误处理程序 (LLHEH) 传递到操作系统的硬件错误数据。

Windows Server 2008 和 Windows Vista SP1 支持 WHEA_ERROR_PACKET_V1 结构。

对于 Windows 7 及更高版本的 Windows,请使用 WHEA_ERROR_PACKET_V2 结构。

语法

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;

成员

Signature

硬件错误数据包的签名。 此成员包含值WHEA_ERROR_PACKET_V1_SIGNATURE。

Flags

描述错误条件 的WHEA_ERROR_PACKET_FLAGS 联合。

Size

硬件错误数据包的大小(以字节为单位),包括原始数据。

RawDataLength

RawData 成员中包含的数据的长度(以字节为单位)。

Reserved1

预留给系统使用。

Context

预留给系统使用。

ErrorType

一个WHEA_ERROR_TYPE类型的值,指示报告硬件错误的硬件组件的类型。

ErrorSeverity

一个WHEA_ERROR_SEVERITY类型的值,指示错误条件的严重性。

ErrorSourceId

报告硬件错误的错误源的标识符。

ErrorSourceType

一个WHEA_ERROR_SOURCE_TYPE类型的值,指示报告硬件错误的错误源的类型。

Reserved2

预留给系统使用。

Version

WHEA_ERROR_PACKET_V1 结构的版本。 此成员包含值WHEA_ERROR_PKT_V1VERSION。

Cpu

预留给系统使用。

u

由以下成员组成的联合:

u.ProcessorError

描述处理器错误数据的 WHEA_PROCESSOR_GENERIC_ERROR_SECTION 结构。 仅当 ErrorType 成员设置为 WheaErrTypeProcessor 时,才使用此成员。

u.MemoryError

描述内存错误数据的 WHEA_MEMORY_ERROR_SECTION 结构。 仅当 ErrorType 成员设置为 WheaErrTypeMemory 时,才使用此成员。

u.NmiError

一种 WHEA_NMI_ERROR_SECTION 结构,用于描述非屏蔽中断 (NMI) 错误数据。 仅当 ErrorType 成员设置为 WheaErrTypeNMI 时,才使用此成员。

u.PciExpressError

描述 PCI Express (PCIe) 错误数据的WHEA_PCIEXPRESS_ERROR_SECTION结构。 仅当 ErrorType 成员设置为 WheaErrTypePCIExpress 时,才使用此成员。

u.PciXBusError

描述 PCI 或 PCI-X 总线错误数据的 WHEA_PCIXBUS_ERROR_SECTION 结构。 仅当 ErrorType 成员设置为 WheaErrTypePCIXBus 时,才使用此成员。

u.PciXDeviceError

描述 PCI 或 PCI-X 设备错误数据的 WHEA_PCIXDEVICE_ERROR_SECTION 结构。 仅当 ErrorType 成员设置为 WheaErrTypePCIXDevice 时才使用此成员。

u.PmemError

RawDataFormat

一个WHEA_RAW_DATA_FORMAT类型的值,指示 RawData 数据缓冲区中包含的硬件错误信息的格式。

RawDataOffset

与 RawData 数据缓冲区开头的偏移量(以字节为单位),其中 PSHED 插件可以将特定于平台的补充错误信息添加到硬件错误数据包。 可以添加到硬件错误数据包的补充信息量受 Size 成员中指定的数据包的总大小限制。

RawData[1]

一个大小可变的数据缓冲区,其中包含来自错误源状态寄存器的原始硬件错误信息。 硬件错误数据的格式由 RawDataFormat 成员指定。

注解

WHEA_ERROR_PACKET_V1结构用于报告 Windows Server 2008 和 Windows Vista SP1 中的硬件错误。

如果 特定于平台的硬件错误驱动程序 (PSHED) 插件 在任何 WHEA 兼容的 Windows 版本上运行,则可以按照以下步骤检查 WHEA_ERROR_PACKET 的版本:

  1. 如果WHEA_ERROR_PACKET的 签名 成员等于 WHEA_ERROR_PACKET_V1_SIGNATURE,则代码在早期版本的 Windows 上运行,并且错误数据包的格式设置为 WHEA_ERROR_PACKET_V1 结构。

  2. 如果WHEA_ERROR_PACKET的 签名 成员等于 WHEA_ERROR_PACKET_V2_SIGNATURE,则代码在更高版本的 Windows 上运行,并且错误数据包的格式设置为 WHEA_ERROR_PACKET_V2 结构。

LLHEH 在报告硬件错误时将 WHEA_ERROR_PACKET_V1 结构传递给操作系统。 此硬件错误数据包包含来自错误源错误状态寄存器的原始硬件错误数据。

WHEA_ERROR_PACKET_V1结构描述错误记录的硬件错误数据包错误部分中包含的 错误数据。 仅当描述该错误记录的错误记录部分的某个WHEA_ERROR_RECORD_SECTION_DESCRIPTOR结构的 SectionType 成员包含WHEA_PACKET_SECTION_GUID时,错误记录才包含硬件错误数据包错误部分。

要求

要求
最低受支持的客户端 在 Windows Server 2008 和 Windows Vista SP1 中受支持。
标头 ntddk.h (包括 Ntddk.h)

另请参阅

特定于平台的硬件错误驱动程序 (PSHED) 插件

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