Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 internal static extern int GetProcessMemoryInfo(IntPtr hProcess, out PROCESS_MEMORY_COUNTERS_EX counters, int size);