FLImaging 6.5.8.1
SystemInformation.h
1#pragma once
2
11#include "FLBase.h"
12
14namespace FLImaging
15{
17 namespace Base
18 {
26 class FL_EXPORT CSystemInformation : public CFLBase
27 {
28 public:
29 enum EMemoryType
30 {
31 EMemoryType_Unknown = -1,
32 EMemoryType_DDR,
33 EMemoryType_DDR2,
34 EMemoryType_DDR2_FB_DIMM,
35 EMemoryType_DDR3,
36 EMemoryType_DDR4,
37 EMemoryType_DDR5,
38 EMemoryType_DDR6_Or_Higher,
39 };
40
41 protected:
50
51 public:
64
65
75 static uint64_t GetTotalPhysicalMemory();
76
86 static uint64_t GetAvailablePhysicalMemory();
87
97 static uint64_t GetTotalVirtualMemory();
98
108 static uint64_t GetAvailableVirtualMemory();
109
110
120 static double GetProcessorUsage();
121
122
132 static int32_t GetProcessorPackageCount();
133
143 static int32_t GetNumaNodeCount();
144
155
166
176 static int32_t GetProcessorL1CacheCount();
177
187 static int32_t GetProcessorL2CacheCount();
188
198 static int32_t GetProcessorL3CacheCount();
199
200
210 static int32_t GetProcessorL1CacheSize();
211
221 static int32_t GetProcessorL2CacheSize();
222
232 static int32_t GetProcessorL3CacheSize();
233
234
244 static int32_t GetProcessorL1LineSize();
245
255 static int32_t GetProcessorL2LineSize();
256
266 static int32_t GetProcessorL3LineSize();
267
268
278 static const wchar_t* GetProcessorName();
279
289 static int32_t GetMemoryChannelCount();
290
300 static int32_t GetMemoryClockSpeed();
301
311 static EMemoryType GetMemoryType();
312
313
323 static int32_t GetProcessorClockSpeed();
324
334 static int32_t GetDMAChannelCount();
335
345 static bool IsX64OperatingSystem();
346
357
368
369
370 DeclareGetClassType();
371 };
372 }
373}
374
FLImaging의 최상위 기저 클래스
Definition FLBase.h:36
시스템 정보 클래스
Definition SystemInformation.h:27
static int32_t GetProcessorL3LineSize()
프로세서 L3 라인 크기를 얻음
static int32_t GetDMAChannelCount()
DMA Channel 개수를 얻음
static double GetProcessorUsage()
프로세서 사용률을 Percent 단위로 얻음
static const wchar_t * GetProcessorName()
프로세서 명칭을 얻음
static int32_t GetProcessorL1CacheSize()
프로세서 L1 캐시 크기를 얻음
static ECPUInstructionType GetCPUInstruction()
CPU 명령어 타입을 얻음
static int32_t GetLogicalProcessorCoreCount()
논리 프로세서 코어 개수를 얻음
static uint64_t GetTotalPhysicalMemory()
전체 물리 메모리 양을 얻음
static bool IsX64OperatingSystem()
x64 운영체제에서 프로그램이 구동중인지 확인합니다.
static int32_t GetMemoryClockSpeed()
Memory Clock (MHz) 을 얻음
static uint64_t GetAllocatablePhysicalMemory()
실제 메모리 할당 가능 크기를 바이트 단위로 반환. 메모리 단편화 정도에 따라 큰 메모리를 반환된 만큼 할당 불가능할 수 있으나, 작은 메모리로 쪼개서 할당하는 경우 해당 함수로 판...
static EOperatingSystemType GetOperatingSystemType()
운영체제 종류를 얻어옵니다.
static int32_t GetProcessorL1CacheCount()
프로세서 L1 캐시 개수를 얻음
static int32_t GetProcessorClockSpeed()
프로세서 Clock (MHz) 을 얻음
static uint64_t GetAvailableVirtualMemory()
유효한 가상 메모리 양을 얻음
static int32_t GetMemoryChannelCount()
Memory Channel을 얻음
static int32_t GetProcessorL1LineSize()
프로세서 L1 라인 크기를 얻음
static int32_t GetPhysicalProcessorCoreCount()
물리 프로세서 코어 개수를 얻음
static int32_t GetNumaNodeCount()
Numa Node 개수를 얻음
static int32_t GetProcessorL3CacheSize()
프로세서 L3 캐시 크기를 얻음
static uint64_t GetTotalVirtualMemory()
전체 가상 메모리 양을 얻음
static int32_t GetProcessorL2CacheCount()
프로세서 L2 캐시 개수를 얻음
static int32_t GetProcessorPackageCount()
프로세서 패키지 개수를 얻음
static int32_t GetProcessorL2CacheSize()
프로세서 L2 캐시 크기를 얻음
static int32_t GetProcessorL2LineSize()
프로세서 L2 라인 크기를 얻음
static int32_t GetProcessorL3CacheCount()
프로세서 L3 캐시 개수를 얻음
static uint64_t GetAvailablePhysicalMemory()
유효한 물리 메모리 양을 얻음
static EMemoryType GetMemoryType()
Memory Type 을 얻음
EOperatingSystemType
운영체제 타입
Definition DefinitionsBase.h:2700
ECPUInstructionType
CPU 명령어 타입
Definition DefinitionsBase.h:1924