STORE_INFORMATION_CLASS - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
#ifndef _NTEXAPI_H

// private
//typedef enum _LOGICAL_PROCESSOR_RELATIONSHIP
//{
//    RelationProcessorCore,
//    RelationNumaNode,
//    RelationCache,
//    RelationProcessorPackage,
//    RelationGroup,
//    RelationProcessorDie,
//    RelationNumaNodeEx,
//    RelationProcessorModule,
//    RelationAll = 0xffff
//} LOGICAL_PROCESSOR_RELATIONSHIP;
//
// private
//typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION
//{
//    ULONG_PTR ProcessorMask;
//    LOGICAL_PROCESSOR_RELATIONSHIP Relationship;
//    union
//    {
//        struct
//        {
//            UCHAR Flags;
//        } ProcessorCore;
//        struct
//        {
//            ULONG NodeNumber;
//        } NumaNode;
//        CACHE_DESCRIPTOR Cache;
//        ULONGLONG Reserved[2];
//    };
//} SYSTEM_LOGICAL_PROCESSOR_INFORMATION, *PSYSTEM_LOGICAL_PROCESSOR_INFORMATION;
//
// private
//typedef struct _PROCESSOR_RELATIONSHIP
//{
//    UCHAR Flags;
//    UCHAR EfficiencyClass;
//    UCHAR Reserved[20];
//    USHORT GroupCount;
//    _Field_size_(GroupCount) GROUP_AFFINITY GroupMask[ANYSIZE_ARRAY];
//} PROCESSOR_RELATIONSHIP, *PPROCESSOR_RELATIONSHIP;
//
// private
//typedef struct _NUMA_NODE_RELATIONSHIP
//{
//    ULONG NodeNumber;
//    UCHAR Reserved[18];
//    USHORT GroupCount;
//    union
//    {
//        GROUP_AFFINITY GroupMask;
//        _Field_size_(GroupCount) GROUP_AFFINITY GroupMasks[ANYSIZE_ARRAY];
//    };
//} NUMA_NODE_RELATIONSHIP, *PNUMA_NODE_RELATIONSHIP;
//
// private
//typedef struct _CACHE_RELATIONSHIP
//{
//    UCHAR Level;
//    UCHAR Associativity;
//    USHORT LineSize;
//    ULONG CacheSize;
//    PROCESSOR_CACHE_TYPE Type;
//    UCHAR Reserved[18];
//    USHORT GroupCount;
//    union
//    {
//        GROUP_AFFINITY GroupMask;
//        _Field_size_(GroupCount) GROUP_AFFINITY GroupMasks[ANYSIZE_ARRAY];
//    };
//} CACHE_RELATIONSHIP, *PCACHE_RELATIONSHIP;
//
// private
//typedef struct _PROCESSOR_GROUP_INFO
//{
//    UCHAR MaximumProcessorCount;
//    UCHAR ActiveProcessorCount;
//    UCHAR Reserved[38];
//    KAFFINITY ActiveProcessorMask;
//} PROCESSOR_GROUP_INFO, *PPROCESSOR_GROUP_INFO;
//
// private
//typedef struct _GROUP_RELATIONSHIP
//{
//    USHORT MaximumGroupCount;
//    USHORT ActiveGroupCount;
//    UCHAR Reserved[20];
//    _Field_size_(ActiveGroupCount) PROCESSOR_GROUP_INFO GroupInfo[ANYSIZE_ARRAY];
//} GROUP_RELATIONSHIP, *PGROUP_RELATIONSHIP;
//
// private
//typedef _Struct_size_bytes_(Size) struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX
//{
//    LOGICAL_PROCESSOR_RELATIONSHIP Relationship;
//    ULONG Size;
//    _Field_size_bytes_(Size - (sizeof(LOGICAL_PROCESSOR_RELATIONSHIP) + sizeof(ULONG))) union
//    {
//        PROCESSOR_RELATIONSHIP Processor;
//        NUMA_NODE_RELATIONSHIP NumaNode;
//        CACHE_RELATIONSHIP Cache;
//        GROUP_RELATIONSHIP Group;
//    };
//} SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX, *PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX;

// rev
typedef enum _STORE_INFORMATION_CLASS
{
    StorePageRequest = 1,                       // q: Not implemented
    StoreStatsRequest = 2,                      // q: SM_STATS_REQUEST // SmProcessStatsRequest
    StoreCreateRequest = 3,                     // s: SM_CREATE_REQUEST (requires SeProfileSingleProcessPrivilege)
    StoreDeleteRequest = 4,                     // s: SM_DELETE_REQUEST (requires SeProfileSingleProcessPrivilege)
    StoreListRequest = 5,                       // q: SM_STORE_LIST_REQUEST // SM_STORE_LIST_REQUEST_EX // SmProcessListRequest

    StoreEmptyRequest = 7,                      // q: Not implemented
    CacheListRequest = 8,                       // q: SMC_CACHE_LIST_REQUEST // SmcProcessListRequest
    CacheCreateRequest = 9,                     // s: SMC_CACHE_CREATE_REQUEST (requires SeProfileSingleProcessPrivilege) // SmcProcessCreateRequest
    CacheDeleteRequest = 10,                    // s: SMC_CACHE_DELETE_REQUEST (requires SeProfileSingleProcessPrivilege) // SmcProcessDeleteRequest
    CacheStoreCreateRequest = 11,               // s: SMC_STORE_CREATE_REQUEST (requires SeProfileSingleProcessPrivilege) // SmcProcessStoreCreateRequest
    CacheStoreDeleteRequest = 12,               // s: SMC_STORE_DELETE_REQUEST (requires SeProfileSingleProcessPrivilege) // SmcProcessStoreDeleteRequest
    CacheStatsRequest = 13,                     // q: SMC_CACHE_STATS_REQUEST // SmcProcessStatsRequest

    RegistrationRequest = 15,                   // q: SM_REGISTRATION_REQUEST (requires SeProfileSingleProcessPrivilege) // SmProcessRegistrationRequest
    GlobalCacheStatsRequest = 16,               // q: Not implemented
    StoreResizeRequest = 17,                    // s: SM_STORE_RESIZE_REQUEST (requires SeProfileSingleProcessPrivilege) // SmProcessResizeRequest
    CacheStoreResizeRequest = 18,               // s: SM_STORE_CACHE_RESIZE_REQUEST (requires SeProfileSingleProcessPrivilege) // SmcProcessResizeRequest
    SmConfigRequest = 19,                       // s: SM_CONFIG_REQUEST (requires SeProfileSingleProcessPrivilege)
    StoreHighMemoryPriorityRequest = 20,        // s: SM_STORE_HIGH_MEMORY_PRIORITY_REQUEST (requires SeProfileSingleProcessPrivilege)
    SystemStoreTrimRequest = 21,                // s: SM_SYSTEM_STORE_TRIM_REQUEST (requires SeProfileSingleProcessPrivilege) // SmProcessSystemStoreTrimRequest
    MemCompressionInfoRequest = 22,             // q: SM_STORE_COMPRESSION_INFORMATION_REQUEST // SmProcessCompressionInfoRequest
    StoreExistsForProcess = 23,                 // q: SM_SYSTEM_STORE_EXISTS_FOR_PROCESS // SmProcessProcessStoreInfoRequest // 25H2
    CompressionReadStatsRequest = 24,           // q: SM_COMPRESSION_READ_STATS_REQUEST // SmProcessCompressionReadStatsRequest
    CompressionAcceleratorRequest = 25,         // q: SM_COMPRESSION_ACCELERATOR_REQUEST // SmProcessCompressionAcceleratorRequest
    StoreInformationMax
} STORE_INFORMATION_CLASS;

#endif

View code on GitHub

NtDoc

No description available.