Export (0) Print
Expand All
Expand Minimize

WHEA_XPF_CONTEXT_INFO structure

The WHEA_XPF_CONTEXT_INFO structure describes processor context information for an x86 or x64 processor.

Syntax


typedef struct _WHEA_XPF_CONTEXT_INFO {
  USHORT    RegisterContextType;
  USHORT    RegisterDataSize;
  ULONG     MSRAddress;
  ULONGLONG MmRegisterAddress;
  UCHAR     RegisterData[1];
} WHEA_XPF_CONTEXT_INFO, *PWHEA_XPF_CONTEXT_INFO;

Members

RegisterContextType

The type of processor context information described by the structure. Possible values are:

XPF_CONTEXT_INFO_UNCLASSIFIEDDATA

Unclassified processor context data.

XPF_CONTEXT_INFO_MSRREGISTERS

Machine check and other machine-specific registers.

XPF_CONTEXT_INFO_32BITCONTEXT

32-bit execution context registers.

XPF_CONTEXT_INFO_64BITCONTEXT

64-bit execution context registers.

XPF_CONTEXT_INFO_FXSAVE

Floating point registers as saved by the FXSAVE instruction. For more information about the FXSAVE instruction, see the Intel 64 and IA-32 Architectures Software Developer's Manual.

XPF_CONTEXT_INFO_32BITDEBUGREGS

32-bit debug registers.

XPF_CONTEXT_INFO_64BITDEBUGREGS

64-bit debug registers.

XPF_CONTEXT_INFO_MMREGISTERS

Memory mapped registers.

RegisterDataSize

The size, in bytes, of the register data that is contained in the RegisterData member.

MSRAddress

The starting address of the machine-specific registers. This member contains valid data only if the RegisterContextType member is set to either XPF_CONTEXT_INFO_UNCLASSIFIEDDATA or XPF_CONTEXT_INFO_MSRREGISTERS. For all other types of processor context information, this member should contain zero.

MmRegisterAddress

The starting memory address of the memory mapped registers. This member contains valid data only if the RegisterContextType member is set to XPF_CONTEXT_INFO_MMREGISTERS. For all other types of processor context information, this member should contain zero.

RegisterData

A variable length buffer that contains register data or raw data. The contents of the buffer depends upon the type of processor context information that is specified in the RegisterContextType member as follows:

XPF_CONTEXT_INFO_UNCLASSIFIEDDATA

The buffer contains raw unformatted data. The number of bytes of data is specified in the RegisterDataSize member.

XPF_CONTEXT_INFO_MSRREGISTERS

The buffer contains an array of 64-bit machine check and other machine-specific registers. The number of registers in the array is determined by dividing the size specified in the RegisterDataSize member by eight.

XPF_CONTEXT_INFO_32BITCONTEXT

The buffer contains a WHEA_X86_REGISTER_STATE structure.

XPF_CONTEXT_INFO_64BITCONTEXT

The buffer contains a WHEA_X64_REGISTER_STATE structure.

XPF_CONTEXT_INFO_FXSAVE

The buffer contains the floating point registers as saved by the FXSAVE instruction. For more information about the FXSAVE instruction, see the Intel 64 and IA-32 Architectures Software Developer's Manual.

XPF_CONTEXT_INFO_32BITDEBUGREGS

The buffer contains an array of eight 64-bit values that contain the 32-bit debug registers DR0-DR7. Each of the 32-bit debug registers are zero-extended to 64-bits.

XPF_CONTEXT_INFO_64BITDEBUGREGS

The buffer contains an array of eight 64-bit values that contain the 64-bit debug registers DR0-DR7.

XPF_CONTEXT_INFO_MMREGISTERS

The buffer contains an array of 64-bit memory mapped registers. The number of registers in the array is determined by dividing the size specified in the RegisterDataSize member by eight.

Remarks

The VariableInfo member of the WHEA_XPF_PROCESSOR_ERROR_SECTION structure contains zero or more WHEA_XPF_CONTEXT_INFO structures, each of which describes specific context information associated with the processor error that occurred. If the size of a particular WHEA_XPF_CONTEXT_INFO structure is not an even multiple of 16 bytes, the space that is allocated for the structure in the buffer will be padded with additional bytes that are set to zero to round the allocated space up to an even multiple of 16 bytes.

Requirements

Version

Supported in Windows Server 2008, Windows Vista SP1, and later versions of Windows.

Header

Ntddk.h (include Ntddk.h)

See also

WHEA_X64_REGISTER_STATE
WHEA_X86_REGISTER_STATE
WHEA_XPF_PROCESSOR_ERROR_SECTION

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft