GetProcessMemoryInfo (psapi)
Last changed: -93.61.102.184

.
Summary
Reads a process memory usage

C# Signature:

[DllImport("psapi.dll", SetLastError=true)]
static extern bool GetProcessMemoryInfo(IntPtr hProcess, out PROCESS_MEMORY_COUNTERS counters, uint size);

VB Signature:

Declare Function GetProcessMemoryInfo Lib "psapi.dll" (TODO) As TODO

User-Defined Types:

[StructLayout(LayoutKind.Sequential, Size=40)]

private struct PROCESS_MEMORY_COUNTERS

{

    public uint cb;
    public uint PageFaultCount;
    public IntPtr PeakWorkingSetSize;
    public IntPtr WorkingSetSize;
    public IntPtr QuotaPeakPagedPoolUsage;
    public IntPtr QuotaPagedPoolUsage;
    public IntPtr QuotaPeakNonPagedPoolUsage;
    public IntPtr QuotaNonPagedPoolUsage;
    public IntPtr PagefileUsage;
    public IntPtr PeakPagefileUsage;

}

//simpler, but 32 bit only

[StructLayout(LayoutKind.Sequential, Size=40)]
private struct PROCESS_MEMORY_COUNTERS
{
    public uint cb;
    public uint 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;
}

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

Please add some!

Documentation