X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.nativemem%2Fsrc%2Forg%2Fsimantics%2Fnativemem%2Finternal%2FPsapi32.java;h=7c59eff2ba025b5ce58aa4c576e856222fcc8f2c;hb=459ca221e046b0ed539e4eab4486a0a3178a4eba;hp=ba302c9a57a88805251d643f2e2eb5938a135bb9;hpb=9a175feb652b2b7bba7afa540831b9076be3c10e;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.nativemem/src/org/simantics/nativemem/internal/Psapi32.java b/bundles/org.simantics.nativemem/src/org/simantics/nativemem/internal/Psapi32.java index ba302c9a5..7c59eff2b 100644 --- a/bundles/org.simantics.nativemem/src/org/simantics/nativemem/internal/Psapi32.java +++ b/bundles/org.simantics.nativemem/src/org/simantics/nativemem/internal/Psapi32.java @@ -1,67 +1,67 @@ -package org.simantics.nativemem.internal; - -import java.util.Arrays; -import java.util.List; - -import org.simantics.nativemem.ProcessMemoryCounters; - -import com.sun.jna.Native; -import com.sun.jna.Structure; -import com.sun.jna.platform.win32.WinNT.HANDLE; -import com.sun.jna.win32.StdCallLibrary; - -public interface Psapi32 extends StdCallLibrary { - - Psapi32 INSTANCE = (Psapi32) Native.loadLibrary("Psapi", Psapi32.class); - - /* - * https://msdn.microsoft.com/en-us/library/windows/desktop/ms684874%28v=vs.85%29.aspx - */ - public static class PROCESS_MEMORY_COUNTERS_EX extends Structure { - public int cb; - public int PageFaultCount; - public int PeakWorkingSetSize; - public int WorkingSetSize; - public int QuotaPeakPagedPoolUsage; - public int QuotaPagedPoolUsage; - public int QuotaPeakNonPagedPoolUsage; - public int QuotaNonPagedPoolUsage; - public int PagefileUsage; - public int PeakPagefileUsage; - public int PrivateUsage; - - @SuppressWarnings("rawtypes") - @Override - protected List getFieldOrder() { - return PROCESS_MEMORY_COUNTERS_EX_FIELDS; - } - - static final List PROCESS_MEMORY_COUNTERS_EX_FIELDS = Arrays.asList(new String[] { - "cb", "PageFaultCount", - "PeakWorkingSetSize", "WorkingSetSize", - "QuotaPeakPagedPoolUsage", "QuotaPagedPoolUsage", - "QuotaPeakNonPagedPoolUsage", "QuotaNonPagedPoolUsage", - "PagefileUsage", "PeakPagefileUsage", "PrivateUsage" - }); - - public void writeTo(ProcessMemoryCounters to) { - to.PageFaultCount = PageFaultCount; - to.PeakWorkingSetSize = PeakWorkingSetSize; - to.WorkingSetSize = WorkingSetSize; - to.QuotaPeakPagedPoolUsage = QuotaPeakPagedPoolUsage; - to.QuotaPagedPoolUsage = QuotaPagedPoolUsage; - to.QuotaPeakNonPagedPoolUsage = QuotaPeakNonPagedPoolUsage; - to.QuotaNonPagedPoolUsage = QuotaNonPagedPoolUsage; - to.PagefileUsage = PagefileUsage; - to.PeakPagefileUsage = PeakPagefileUsage; - to.PrivateUsage = PrivateUsage; - } - } - - /* - * https://msdn.microsoft.com/en-us/library/windows/desktop/ms683219%28v=vs.85%29.aspx - */ - boolean GetProcessMemoryInfo(HANDLE Process, PROCESS_MEMORY_COUNTERS_EX ppsmemCounters, int cb); - - +package org.simantics.nativemem.internal; + +import java.util.Arrays; +import java.util.List; + +import org.simantics.nativemem.ProcessMemoryCounters; + +import com.sun.jna.Native; +import com.sun.jna.Structure; +import com.sun.jna.platform.win32.WinNT.HANDLE; +import com.sun.jna.win32.StdCallLibrary; + +public interface Psapi32 extends StdCallLibrary { + + Psapi32 INSTANCE = (Psapi32) Native.loadLibrary("Psapi", Psapi32.class); + + /* + * https://msdn.microsoft.com/en-us/library/windows/desktop/ms684874%28v=vs.85%29.aspx + */ + public static class PROCESS_MEMORY_COUNTERS_EX extends Structure { + public int cb; + public int PageFaultCount; + public int PeakWorkingSetSize; + public int WorkingSetSize; + public int QuotaPeakPagedPoolUsage; + public int QuotaPagedPoolUsage; + public int QuotaPeakNonPagedPoolUsage; + public int QuotaNonPagedPoolUsage; + public int PagefileUsage; + public int PeakPagefileUsage; + public int PrivateUsage; + + @SuppressWarnings("rawtypes") + @Override + protected List getFieldOrder() { + return PROCESS_MEMORY_COUNTERS_EX_FIELDS; + } + + static final List PROCESS_MEMORY_COUNTERS_EX_FIELDS = Arrays.asList(new String[] { + "cb", "PageFaultCount", + "PeakWorkingSetSize", "WorkingSetSize", + "QuotaPeakPagedPoolUsage", "QuotaPagedPoolUsage", + "QuotaPeakNonPagedPoolUsage", "QuotaNonPagedPoolUsage", + "PagefileUsage", "PeakPagefileUsage", "PrivateUsage" + }); + + public void writeTo(ProcessMemoryCounters to) { + to.PageFaultCount = PageFaultCount; + to.PeakWorkingSetSize = PeakWorkingSetSize; + to.WorkingSetSize = WorkingSetSize; + to.QuotaPeakPagedPoolUsage = QuotaPeakPagedPoolUsage; + to.QuotaPagedPoolUsage = QuotaPagedPoolUsage; + to.QuotaPeakNonPagedPoolUsage = QuotaPeakNonPagedPoolUsage; + to.QuotaNonPagedPoolUsage = QuotaNonPagedPoolUsage; + to.PagefileUsage = PagefileUsage; + to.PeakPagefileUsage = PeakPagefileUsage; + to.PrivateUsage = PrivateUsage; + } + } + + /* + * https://msdn.microsoft.com/en-us/library/windows/desktop/ms683219%28v=vs.85%29.aspx + */ + boolean GetProcessMemoryInfo(HANDLE Process, PROCESS_MEMORY_COUNTERS_EX ppsmemCounters, int cb); + + } \ No newline at end of file