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 |