Hello,
Does anyone here know what APIs I can call (or any code I can write) to
determine the working set of a CE application?
My ultimate goal is to determine the amount of free VM space I have between
the address of the lowest loaded DLL, and the high watermark of VM memory use
from the application (all the ram & vm space used by the EXE, Heap, and all
thread stacks).
So far I have determined that even if our process is supposed to have its
own "32M" of virtual address space this is not the case -- several XIP DLLs
are stepping into our process space because there's more than 32M's worth of
XIP DLLs on the CE device. So, the lowest DLL is actually around the 17-18M
mark.
I know the EXE starts at 0x10000 (the 1st 64k block) but I can't measure how
high things go. The only metric I have right now is by using toolhelp.dll to
walk the heaps and determine the highest memory block -- but I still don't
know how much space threads are using for stack, or where the stack blocks
are located.
Any help would be appreciated.