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 位调试寄存器。 缓冲区包含八个 64 位值的数组,其中包含 32 位调试寄存器 DR0-DR7。 每个 32 位调试寄存器都零扩展到 64 位。
XPF_CONTEXT_INFO_64BITDEBUGREGS 64 位调试寄存器。 缓冲区包含八个 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 个字节的偶数。

要求

要求 价值
标头 ntddk.h (包括 Ntddk.h)

另请参阅

WHEA_X64_REGISTER_STATE

WHEA_X86_REGISTER_STATE

WHEA_XPF_PROCESSOR_ERROR_SECTION