EmptyWorkingSet Win32 API를 사용하는 C# 예제
그냥... 아래의 질문에 대한 답으로 작성한 간단한 예제입니다.
[c#] EmptyWorkingSet 사용 중 에러
; http://social.msdn.microsoft.com/Forums/ko-KR/6dff23f4-ece9-43a4-8f6b-3528cca5b4c4/c-emptyworkingset-?forum=dotnetko
참고로, 아래의 코드는 자신의 프로세스에 대한 메모리를 조정하는 것이므로 관리자 권한으로 승격된 프로세스가 아니어도 잘 동작합니다.
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
namespace ConsoleApplication1
{
    class Program
    {
        [DllImport("psapi.dll")]
        public static extern int EmptyWorkingSet(IntPtr hProcess);
        static void Main(string[] args)
        {
            IntPtr processHandle = Process.GetCurrentProcess().Handle;
            Console.WriteLine("WorkingSet Mem Size: " + Process.GetCurrentProcess().WorkingSet64);
            Console.ReadLine();
            int result = EmptyWorkingSet(processHandle);
            Console.WriteLine("Result: " + ((result != 0) ? "Success" : "Failed"));
            Console.WriteLine("WorkingSet Mem Size: " + Process.GetCurrentProcess().WorkingSet64);
        }
    }
}
예제 코드는 첨부 파일로 넣어두었습니다.
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]