What is the win32 API function for private bytes (the ones you can see in perfmon).
I'd like to avoid the .NET API
What is the win32 API function for private bytes (the ones you can see in perfmon).
I'd like to avoid the .NET API
You need to clarify what you are trying to do. These are internal figures whose value is not really controlled by any API.
Technically Private Bytes is the commit charge, the amount of memory allocated in the swap file to hold the contents of the applications private memory should it be swapped out.
Generally private bytes = amount of dynamically allocated memory + some extra.
You can collect the same data perfmon shows using the performance counters API
BOOL WINAPI GetProcessMemoryInfo( __in HANDLE Process, __out PPROCESS_MEMORY_COUNTERS ppsmemCounters, __in DWORD cb );
ppsmemCounters can be a PROCESS_MEMORY_COUNTERS or PROCESS_MEMORY_COUNTERS_EX structure.
PROCESS_MEMORY_COUNTERS_EX.PrivateUsage is what you're looking for.
Using PDH API you get performance counters in plain C with win32 code.
Try this sample GetProcessTimes
and this one sample
and here a complete app in win32, PdhTool
another complete sample
and this old but useful help files PDH.HLP, PDH.CNT, PDH.TOC