The GetProcessHeap function obtains a handle to the heap of the calling process. This handle can then be used in calls to the HeapAlloc, HeapReAlloc, HeapFree, and HeapSize functions.
HANDLE GetProcessHeap(VOID)
This function has no parameters.
If the function succeeds, the return value is a handle to the calling process’s heap.
If the function fails, the return value is NULL. To get extended error information, call GetLastError.
GetProcessHeap allows Win32-based applications to allocate memory from the process heap without having to first create a heap with the HeapCreate function, as shown in this example:
HeapAlloc(GetProcessHeap(), 0, dwBytes);
Note that the handle obtained by calling the function should not be used in calls to the HeapDestroy function.
Note, also, that the HEAP_NO_SERIALIZE flag should not be specified when using the HeapAlloc, HeapFree, HeapReAlloc, and HeapSize functions to access the process heap. The system may create additional threads within the application’s process, such as a Ctrl+C handler, that simultaneously access the process heap. For more information about HEAP_NO_SERIALIZE, see the HeapCreate function.
GetProcessHeaps, HeapAlloc, HeapCreate, HeapDestroy, HeapFree, HeapReAlloc, HeapSize