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

描述不可屏蔽中断(NMI)错误数据的 WHEA_NMI_ERROR_SECTION 结构。 仅当 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 插件可以将补充平台特定的错误信息添加到硬件错误数据包。 可添加到硬件错误数据包的补充信息量受 大小 成员中指定的数据包的总大小限制。

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_PACKET_SECTION_GUID的某个 WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 结构的 SectionType 成员时,错误记录才包含硬件错误数据包错误节。

要求

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

另请参阅

Platform-Specific 硬件错误驱动程序(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