728x90
반응형
728x170
■ GlobalMemoryStatusEx API 함수를 선언하는 방법을 보여준다.
▶ 예제 코드 (C#)
using System.Runtime.InteropServices;
#region 전역 메모리 상태 구하기 (확장) - GlobalMemoryStatusEx(memoryStatus)
/// <summary>
/// 전역 메모리 상태 구하기 (확장)
/// </summary>
/// <param name="memoryStatus">메모리 상태</param>
/// <returns>처리 결과</returns>
[DllImport("kernel32", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool GlobalMemoryStatusEx([In, Out] MEMORYSTATUSEX memoryStatus);
#endregion
/// <summary>
/// 메모리 상태 (확장)
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public class MEMORYSTATUSEX
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Field
////////////////////////////////////////////////////////////////////////////////////////// Public
#region Field
/// <summary>
/// 길이
/// </summary>
public uint Length;
/// <summary>
/// 로드 메모리
/// </summary>
public uint MemoryLoad;
/// <summary>
/// 전체 물리적 메모리 크기
/// </summary>
public ulong TotalPhysicalMemorySize;
/// <summary>
/// 이용 가능한 물리적 메모리 크기
/// </summary>
public ulong AvailablePhysicalMemorySize;
/// <summary>
/// 전체 페이지 파일 크기
/// </summary>
public ulong TotalPageFileSize;
/// <summary>
/// 이용 가능한 페이지 파일 크기
/// </summary>
public ulong AvailablePageFileSize;
/// <summary>
/// 전체 가상 메모리 크기
/// </summary>
public ulong TotalVirtualMemorySize;
/// <summary>
/// 이용 가능한 가상 메모리 크기
/// </summary>
public ulong AvailableVirtualMemorySize;
/// <summary>
/// 이용 가능한 확장된 가상 메모리 크기
/// </summary>
public ulong AvailableExtendedVirtualMemorySize;
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MEMORYSTATUSEX()
/// <summary>
/// 생성자
/// </summary>
public MEMORYSTATUSEX()
{
Length = (uint)Marshal.SizeOf<MEMORYSTATUSEX>();
}
#endregion
}
728x90
반응형
그리드형(광고전용)
'C# > WIN32' 카테고리의 다른 글
[C#/WIN32] WTSGetActiveConsoleSessionId API 함수 선언하기 (0) | 2021.06.11 |
---|---|
[C#/WIN32] NtQueryInformationProcess API 함수 선언하기 (0) | 2021.06.09 |
[C#/WIN32] GetNetworkParams API 함수 선언하기 (0) | 2021.06.05 |
[C#/WIN32] GetDiskFreeSpaceEx API 함수 선언하기 (0) | 2021.06.05 |
[C#/WIN32] GetSystemPowerStatus API 함수 선언하기 (0) | 2021.06.05 |
[C#/WIN32] GetSystemInfo API 함수 선언하기 (0) | 2021.06.05 |
[C#/WIN32] IsProcessorFeaturePresent API 함수 선언하기 (0) | 2021.06.05 |
[C#/WIN32] GetLogicalProcessorInformation API 함수 선언하기 (0) | 2021.06.05 |
[C#/WIN32] GetCursorPos API 함수 선언하기 (0) | 2021.05.31 |
[C#/WIN32] GetDiskFreeSpaceEx API 함수 선언하기 (0) | 2021.05.30 |
댓글을 달아 주세요