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) |