#ifndef _SMBIOS_H
#include <pshpack1.h>
typedef struct _SMBIOS_PROCESSOR_INFORMATION
{
SMBIOS_HEADER Header;
// 2.0+
UCHAR SocketDesignation; // string
UCHAR Type; // SMBIOS_PROCESSOR_TYPE_*
UCHAR Family; // SMBIOS_PROCESSOR_FAMILY_*
UCHAR Manufacturer; // string
ULONGLONG Identifier;
UCHAR Version; // string
union
{
struct
{
UCHAR Capable5000mV : 1; // 5V
UCHAR Capable3500mV : 1; // 3.3V
UCHAR Capable2900mV : 1; // 2.9V
UCHAR Reserved : 4;
UCHAR Mode : 1; // 0 = Legacy Mode
};
UCHAR Value;
} Voltage;
USHORT ExternalClock;
USHORT MaxSpeed;
USHORT CurrentSpeed;
union
{
struct
{
UCHAR Status : 3; // SMBIOS_PROCESSOR_STATUS_*
UCHAR Reserved : 3;
UCHAR Populated : 1;
UCHAR Reserved2 : 1;
};
UCHAR Value;
} Status;
UCHAR Upgrade; // SMBIOS_PROCESSOR_UPGRADE_*
// 2.1+
USHORT L1CacheHandle;
USHORT L2CacheHandle;
USHORT L3CacheHandle;
// 2.3+
UCHAR SerialNumber; // string
UCHAR AssetTag; // string
UCHAR PartNumber; // string
// 2.5+
UCHAR CoreCount;
UCHAR CoresEnabled;
UCHAR ThreadCount;
USHORT Characteristics; // SMBIOS_PROCESSOR_FLAG_*
// 2.6+
USHORT Family2; // SMBIOS_PROCESSOR_FAMILY_*
// 3.0+
USHORT CoreCount2;
USHORT CoresEnabled2;
USHORT ThreadCount2;
// 3.6+
USHORT ThreadsEnabled;
// 3.8+
UCHAR SocketType; // string
} SMBIOS_PROCESSOR_INFORMATION, *PSMBIOS_PROCESSOR_INFORMATION;
View code on GitHub
No description available.