CPU_INFORMATION Union Reference

Information about the CPU (or CPUs) that ran the process that the minidump file contains a snapshot of. More...

`#include "dbghelp.h"`

## Public Attributes

struct {
uint32_t VendorId [3]
| The CPU’s vendor identification string as encoded in `cpuid 0` `ebx`, `edx`, and `ecx`, represented as it appears in these registers. More...
uint32_t VersionInformation
| Family, model, and stepping ID values as encoded in `cpuid 1` `eax`.
uint32_t FeatureInformation
| A bitfield containing supported CPU capabilities as encoded in `cpuid 1` `edx`.
uint32_t AMDExtendedCpuFeatures
| A bitfield containing supported CPU capabalities as encoded in `cpuid 0x80000001` `edx`. More...
} | X86CpuInfo
| Information about 32-bit x86 CPUs, or x86_64 CPUs when running 32-bit x86 processes.
struct {
uint64_t ProcessorFeatures [2]
| Bitfields containing supported CPU capabilities as identified by bits corresponding to PF_* values passed to `IsProcessorFeaturePresent()`.
} | OtherCpuInfo
| Information about non-x86 CPUs, and x86_64 CPUs when not running 32-bit x86 processes.

## Detailed Description

Information about the CPU (or CPUs) that ran the process that the minidump file contains a snapshot of.

This union only appears as MINIDUMP_SYSTEM_INFO::Cpu. Its interpretation is controlled by MINIDUMP_SYSTEM_INFO::ProcessorArchitecture.

## Member Data Documentation

## AMDExtendedCpuFeatures

uint32_t CPU_INFORMATION::AMDExtendedCpuFeatures

A bitfield containing supported CPU capabalities as encoded in `cpuid 0x80000001` `edx`.

This field is only valid if VendorId identifies the CPU vendor as “AuthenticAMD”.

## VendorId

uint32_t CPU_INFORMATION::VendorId[3]

The CPU’s vendor identification string as encoded in `cpuid 0` `ebx`, `edx`, and `ecx`, represented as it appears in these registers.

For Intel CPUs, `[0]` will encode “Genu”, `[1]` will encode “ineI”, and `[2]` will encode “ntel”, for a vendor ID string “GenuineIntel”.

Note
  The Windows documentation incorrectly states that these fields are to be interpreted as `cpuid 0` `eax`, `ebx`, and `ecx`.

The documentation for this union was generated from the following file:

- compat/non_win/dbghelp.h