internal static PROCESS_MEMORY_COUNTERS_EX GetCounters(IntPtr hProcess) { PROCESS_MEMORY_COUNTERS_EX counters = new PROCESS_MEMORY_COUNTERS_EX(); counters.cb = Marshal.SizeOf(counters); if (NativeMethods.GetProcessMemoryInfo(hProcess, out counters, counters.cb) == 0) { int error = NativeMethods.GetLastError(); throw new Win32Exception("GetProcessMemoryInfo failed with last error " + error.ToString() + ": Marshal.SizeOf(counters) = " + Marshal.SizeOf(counters).ToString() + ", counters.cb = " + counters.cb.ToString()); } return(counters); }
internal static extern int GetProcessMemoryInfo(IntPtr hProcess, out PROCESS_MEMORY_COUNTERS_EX counters, int size);