SMBIOS_PROCESSOR_INFORMATION - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
#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;

#include <poppack.h>
#endif

View code on GitHub

No description available.