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的版本:
如果WHEA_ERROR_PACKET 签名 成员等于WHEA_ERROR_PACKET_V1_SIGNATURE,则代码在早期版本的 Windows 上运行,并且错误数据包的格式设置为 WHEA_ERROR_PACKET_V1 结构。
如果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_RECORD_SECTION_DESCRIPTOR