The GetProcessHeaps function obtains handles to all of the heaps that are valid for the calling process.
DWORD GetProcessHeaps(
DWORD NumberOfHeaps, |
// maximum number of heap handles buffer can receive |
PHANDLE ProcessHeaps |
// points to buffer to receive array of heap handles |
); |
The return value is the number of heap handles that are valid for the calling process.
If the return value is less than or equal to NumberOfHeaps, it is also the number of heap handles stored into the buffer pointed to by ProcessHeaps.
If the return value is greater than NumberOfHeaps, the buffer pointed to by ProcessHeaps is too small to hold all the valid heap handles of the calling process.The function will have stored no handles into that buffer. In this situation, use the return value to allocate a buffer that is large enough to receive the handles, and call the function again.
If the return value is zero, the function has failed, because every Win32 process has at least one valid heap, the process heap. To get extended error information, call GetLastError.
Use the GetProcessHeap function to obtain a handle to the process heap of the calling process. The GetProcessHeaps function obtains a handle to that heap, plus handles to any additional private heaps created by calling the HeapCreate function.