WHEA_XPF_CONTEXT_INFO 结构 (ntddk.h)
WHEA_XPF_CONTEXT_INFO 结构描述 x86 或 x64 处理器的处理器上下文信息。
语法
typedef struct _WHEA_XPF_CONTEXT_INFO {
USHORT RegisterContextType;
USHORT RegisterDataSize;
ULONG MSRAddress;
ULONGLONG MmRegisterAddress;
} WHEA_XPF_CONTEXT_INFO, *PWHEA_XPF_CONTEXT_INFO;
成员
RegisterContextType
结构描述的处理器上下文信息的类型。 可能的值为:
值 | 说明 |
---|---|
XPF_CONTEXT_INFO_UNCLASSIFIEDDATA | 缓冲区包含原始的未格式化数据。 在 RegisterDataSize 成员中指定数据字节数。 |
XPF_CONTEXT_INFO_MSRREGISTERS | 缓冲区包含一个由 64 位计算机检查和其他特定于计算机的寄存器的数组。 数组中的寄存器数通过将 RegisterDataSize 成员中指定的大小除以 8 来确定。 |
XPF_CONTEXT_INFO_32BITCONTEXT | 32 位执行上下文寄存器。 缓冲区包含WHEA_X86_REGISTER_STATE结构。 |
XPF_CONTEXT_INFO_64BITCONTEXT | 64 位执行上下文寄存器。 缓冲区包含WHEA_X64_REGISTER_STATE结构。 |
XPF_CONTEXT_INFO_FXSAVE | 缓冲区包含 FXSAVE 指令保存的浮点寄存器。 有关 FXSAVE 指令的详细信息,请参阅 Intel 64 和 IA-32 体系结构软件开发人员手册。 |
XPF_CONTEXT_INFO_32BITDEBUGREGS | 32 位调试寄存器。 缓冲区包含包含 8 个 64 位值的数组,这些值包含 32 位调试寄存器 DR0-DR7。 每个 32 位调试寄存器都从零扩展到 64 位。 |
XPF_CONTEXT_INFO_64BITDEBUGREGS | 64 位调试寄存器。 缓冲区包含包含 8 个 64 位值的数组,这些值包含 64 位调试寄存器 DR0-DR7。 |
XPF_CONTEXT_INFO_MMREGISTERS | 缓冲区包含一个由 64 位内存映射寄存器的数组。 数组中的寄存器数通过将 RegisterDataSize 成员中指定的大小除以 8 来确定。 |
RegisterDataSize
RegisterData 成员中包含的寄存器数据的大小(以字节为单位)。
MSRAddress
计算机特定寄存器的起始地址。 仅当 RegisterContextType 成员设置为 XPF_CONTEXT_INFO_UNCLASSIFIEDDATA 或 XPF_CONTEXT_INFO_MSRREGISTERS 时,此成员才包含有效数据。 对于所有其他类型的处理器上下文信息,此成员应包含零。
MmRegisterAddress
内存映射寄存器的起始内存地址。 仅当 RegisterContextType 成员设置为 XPF_CONTEXT_INFO_MMREGISTERS 时,此成员才包含有效数据。 对于所有其他类型的处理器上下文信息,此成员应包含零。
注解
WHEA_XPF_PROCESSOR_ERROR_SECTION 结构的 VariableInfo 成员包含零个或多个WHEA_XPF_CONTEXT_INFO结构,其中每个结构都描述与发生的处理器错误相关的特定上下文信息。 如果特定WHEA_XPF_CONTEXT_INFO结构的大小不是 16 字节的偶数倍数,则缓冲区中为结构分配的空间将填充设置为零的其他字节,以将分配的空间舍入为 16 个字节的偶数倍。
要求
要求 | 值 |
---|---|
Header | ntddk.h (包括 Ntddk.h) |