FLImaging 7.8.25.3
SystemInformation.h
1#pragma once
2
10
11#include "FLBase.h"
12
14namespace FLImaging
15{
17 namespace Base
18 {
26 class FL_EXPORT CSystemInformation : public CFLBase
27 {
28 public:
29
39 {
42
45
48
51
54
57
60
63 };
64
65 protected:
74
75 public:
88
89
99 static uint64_t GetTotalPhysicalMemory();
100
110 static uint64_t GetAvailablePhysicalMemory();
111
121 static uint64_t GetTotalVirtualMemory();
122
132 static uint64_t GetAvailableVirtualMemory();
133
134
144 static double GetProcessorUsage();
145
146
156 static int32_t GetProcessorPackageCount();
157
167 static int32_t GetNumaNodeCount();
168
179
190
200 static int32_t GetProcessorL1CacheCount();
201
211 static int32_t GetProcessorL2CacheCount();
212
222 static int32_t GetProcessorL3CacheCount();
223
224
234 static int32_t GetProcessorL1CacheSize();
235
245 static int32_t GetProcessorL2CacheSize();
246
256 static int32_t GetProcessorL3CacheSize();
257
258
268 static int32_t GetProcessorL1LineSize();
269
279 static int32_t GetProcessorL2LineSize();
280
290 static int32_t GetProcessorL3LineSize();
291
292
302 static const wchar_t* GetProcessorName();
303
313 static int32_t GetMemoryChannelCount();
314
324 static int32_t GetMemoryClockSpeed();
325
336
337
347 static int32_t GetProcessorClockSpeed();
348
358 static int32_t GetDMAChannelCount();
359
369 static bool IsX64OperatingSystem();
370
381
392
393
394 DeclareGetClassType();
395 };
396 }
397}
398
CFLBase()
Default constructor.
static int32_t GetProcessorL3LineSize()
Get processor L3 line size.
static int32_t GetDMAChannelCount()
Get DMA channel count.
static double GetProcessorUsage()
Get processor usage in percent.
static const wchar_t * GetProcessorName()
Get processor name.
static int32_t GetProcessorL1CacheSize()
Get processor L1 cache size.
static ECPUInstructionType GetCPUInstruction()
Get the CPU instruction type.
static int32_t GetLogicalProcessorCoreCount()
Get number of logical processor cores.
static uint64_t GetTotalPhysicalMemory()
Get total amount of physical memory.
static bool IsX64OperatingSystem()
Check if the program is running on an x64 operating system.
static int32_t GetMemoryClockSpeed()
Get memory clock (MHz).
static uint64_t GetAllocatablePhysicalMemory()
Returns the actual allocatable memory size in bytes. Depending on the degree of memory fragmentation,...
static EOperatingSystemType GetOperatingSystemType()
Gets the operating system type.
static int32_t GetProcessorL1CacheCount()
Get processor L1 cache count.
static int32_t GetProcessorClockSpeed()
Get processor clock (MHz).
static uint64_t GetAvailableVirtualMemory()
Get a valid amount of virtual memory.
EMemoryType
Memory Type.
Definition SystemInformation.h:39
@ EMemoryType_DDR2_FB_DIMM
Definition SystemInformation.h:50
@ EMemoryType_Unknown
Definition SystemInformation.h:41
@ EMemoryType_DDR2
Definition SystemInformation.h:47
@ EMemoryType_DDR
Definition SystemInformation.h:44
@ EMemoryType_DDR3
Definition SystemInformation.h:53
@ EMemoryType_DDR6_Or_Higher
Definition SystemInformation.h:62
@ EMemoryType_DDR5
Definition SystemInformation.h:59
@ EMemoryType_DDR4
Definition SystemInformation.h:56
static int32_t GetMemoryChannelCount()
Get memory channel.
static int32_t GetProcessorL1LineSize()
Get processor L1 line size.
static int32_t GetPhysicalProcessorCoreCount()
Get number of physical processor cores.
static int32_t GetNumaNodeCount()
Get the number of Numa Nodes.
static int32_t GetProcessorL3CacheSize()
Get processor L3 cache size.
static uint64_t GetTotalVirtualMemory()
Get the total amount of virtual memory.
static int32_t GetProcessorL2CacheCount()
Get processor L2 cache count.
static int32_t GetProcessorPackageCount()
Get processor package count.
static int32_t GetProcessorL2CacheSize()
Get processor L2 cache size.
static int32_t GetProcessorL2LineSize()
Get processor L2 line size.
static int32_t GetProcessorL3CacheCount()
Get processor L3 cache count.
static uint64_t GetAvailablePhysicalMemory()
Get valid amount of physical memory.
static EMemoryType GetMemoryType()
Get memory type.
Definition AESCryptography.h:18
EOperatingSystemType
Operating system type.
Definition DefinitionsBase.h:2841
ECPUInstructionType
CPU instruction type.
Definition DefinitionsBase.h:2065