The following table shows the memory management functions with a description of the purpose of each.
| Programming element | Description | 
|---|---|
| CeHeapCreate | This function allows users to create a heap with a custom allocator or deallocator function. | 
| GetDllVersion | This function retrieves the major and minor version numbers of the system that the specified DLL expects to run on. | 
| GetProcessHeap | This function obtains a handle to the heap of the calling process. | 
| GlobalMemoryStatus | This function gets information on the physical and virtual memory of the system. | 
| HeapAlloc | This function allocates a block of memory from a heap. | 
| HeapCompact | This function attempts to compact a specified heap. It compacts the heap by coalescing adjacent free blocks of memory and decommitting large free blocks of memory. | 
| HeapCreate | This function creates a heap object that is private to the calling process. | 
| HeapDestroy | This function destroys the specified heap object. | 
| HeapFree | This function frees a memory block allocated from a heap by the HeapAlloc or HeapReAlloc function. | 
| HeapReAlloc | This function reallocates a block of memory from a heap. | 
| HeapSize | This function returns the size, in bytes, of a memory block allocated from a heap by the HeapAlloc or HeapReAlloc function. | 
| HeapValidate | This function validates the specified heap. HeapValidate scans all the memory blocks in the heap and verifies that the heap control structures maintained by the heap manager are in a consistent state. The HeapValidate function can also be used to validate a single memory block within a specified heap without checking the validity of the entire heap. | 
| IsBadCodePtr | This function determines whether the calling process has read access to the memory at the specified address. | 
| IsBadReadPtr | This function verifies that the calling process has read access to the specified range of memory. | 
| IsBadWritePtr | This function verifies that the calling process has write access to the specified range of memory. | 
| LocalAlloc | This function allocates the specified number of bytes from the heap. | 
| LocalFree | This function frees the specified local memory object and invalidates its handle. | 
| LocalReAlloc | This function changes the size or the attributes of a specified local memory object. | 
| LocalSize | This function returns the current size, in bytes, of the specified local memory object. | 
| SecureZeroMemory | This function fills a block of memory with zeros. | 
| VirtualAlloc | This function reserves or commits a region of pages in the virtual address space of the calling process. | 
| VirtualFree | This function releases or decommits, or both, a region of pages within the virtual address space of the calling process. | 
| VirtualProtect | This function changes the access protection on a region of committed pages in the virtual address space of the calling process. | 
| VirtualQuery | This function provides information about a range of pages in the virtual address space of the calling process. | 
See Also
Send Feedback on this topic to the authors