728x90
GlobalMemoryStatus는 현재 Memory상태에 관한 정보를 반환하는 함수입니다.
Declare Sub GlobalMemoryStatus Lib "kernel32" Alias "GlobalMemoryStatus" (ByRef lpBuffer As MEMORYSTATUS)>
- VB.NET 선언
Structure MEMORYSTATUS
Public ilength As Integer
Public iusepsent As Integer
Public iphymem As Integer
Public iphymem_avail As Integer
Public ipage As Integer
Public ipage_avail As Integer
Public ivirmem As Integer
Public ivirmem_avail As Integer
End Structure
Dim st_Mem As MEMORYSTATUS
GlobalMemoryStatus(st_Mem)
st_Mem.iusepsent
st_Mem.iphymem
st_Mem.iphymem_avail
st_Mem.ipage
st_Mem.ipage_avail
st_Mem.ivirmem
st_Mem.ivirmem_avail
- VB.NET 호출
[System.Runtime.InteropServices.DllImport("kernel32.dll")]
private static extern void GlobalMemoryStatus(ref MEMORYSTATUS lpBuffer);
- C# 선언
struct MEMORYSTATUS{
public int ilength;
public int iusepsent;
public int iphymem;
public int iphymem_avail;
public int ipage;
public int ipage_avail;
public int ivirmem;
public int ivirmem_avail;
}
MEMORYSTATUS st_Mem = default(MEMORYSTATUS);
GlobalMemoryStatus(ref st_Mem);
st_Mem.iusepsent
st_Mem.iphymem
st_Mem.iphymem_avail
st_Mem.ipage
st_Mem.ipage_avail
st_Mem.ivirmem
st_Mem.ivirmem_avail
- C# 호출
C# 호출 위에서 각 구조체의 Member에 들어가는 값은 다음과 같습니다.
member | 값 |
iusepsent | 현재 Memory사용율 |
iphymem | 물리적 Memory용량 |
iphymem_avail | 물리적 Memory용량(남은 용량) |
ipage | Page Memory용량 |
ipage_avail | Page Memory용량(남은 용량) |
ivirmem | 가상 Memory용량 |
ivirmem_avail | 가상 Memory용량(남은 용량) |
ilength | 구조체 길이(관련없음) |
iusepsent를 제외한 다른 용량값은 Byte단위입니다.
728x90
'.NET > Windows API for .NET' 카테고리의 다른 글
SHGetSpecialFolderPath - Windows System관련 Folder 가져오기 (0) | 2019.08.05 |
---|---|
GetClassName - Window의 Class이름 구하기 (0) | 2019.08.05 |
GetSystemTime - 현재 System의 날짜및 시간구하기 (0) | 2019.08.05 |
CreateDirectory - Directory의 생성 (0) | 2019.08.05 |
GetDriveType - Disk Drive 유형 판단 (0) | 2019.08.05 |