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 的版本:
如果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_ERROR_RECORD_SECTION_DESCRIPTOR结构的 SectionType 成员包含WHEA_PACKET_SECTION_GUID时,错误记录才包含硬件错误数据包错误部分。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows Server 2008 和 Windows Vista SP1 中受支持。 |
标头 | ntddk.h (包括 Ntddk.h) |
另请参阅
WHEA_ERROR_RECORD_SECTION_DESCRIPTOR