Memory Management Functions (Compact 2013)
3/28/2014
The following table shows the memory management functions with a description of the purpose of each.
Function |
Description |
---|---|
Obtains the major and minor version numbers of the system that the specified DLL expects to run on. |
|
Obtains a handle to the heap of the calling process. |
|
Obtains information on the physical and virtual memory of the system. |
|
Allocates a block of memory from a heap. |
|
Compact a specified heap by combining adjacent free blocks of memory and decommitting large free blocks of memory. |
|
Creates a heap object that is private to the calling process. |
|
Destroys the specified heap object. |
|
Frees a memory block allocated from a heap by the HeapAlloc or HeapReAlloc function. |
|
Reallocates a block of memory from a heap. |
|
Returns the size, in bytes, of a memory block allocated from a heap by the HeapAlloc or HeapReAlloc 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. |
|
Checks whether the calling process has read access to the memory at the specified address. |
|
Checks whether the calling process has read access to the specified range of memory. |
|
Checks whether the calling process has write access to the specified range of memory. |
|
Allocates the specified number of bytes from the heap. |
|
Frees the specified local memory object and invalidates its handle. |
|
Changes the size or the attributes of a specified local memory object. |
|
Returns the current size, in bytes, of the specified local memory object. |
|
Fills a block of memory with zeros. |
|
Reserves or commits a region of pages in the virtual address space of the calling process. |
|
Releases or decommits, or both, a region of pages within the virtual address space of the calling process. |
|
This function changes the access protection on a region of committed pages in the virtual address space of the calling process. |
|
This function provides information about a range of pages in the virtual address space of the calling process. |
Function |
Description |
---|---|
Enables users to create a heap with a custom allocator or deallocator function. |
|
Creates a remote heap in a process. The heap is read-only to the client process, unless the HEAP_CLIENT_READWRITE flag is specified. |
|
Converts a pointer to an address that the client process can access. |
|
Copies data in memory between buffers. |
|
Reserves or commits a region of pages in the virtual address space of the calling process. Memory allocated by VirtualAlloc is initialized to zero. |
|
Reserves or commits a region of pages in the virtual address space of the calling process, and then dynamically maps a virtual address to a physical address by creating a new page-table entry. Terminate the mapping by calling VirtualFreeEx. |
|
Dynamically maps a virtual address to a physical address by creating a new page-table entry. Terminate the mapping by calling VirtualFree. |
|
Releases or decommits, or both, a region of pages within the virtual address space of the calling process. |
|
Provides information about a range of pages in the virtual address space of the calling process. |
|
Changes the access protection on a region of committed pages in the virtual address space of the calling process. |
|
Changes the per-page attributes for a range of virtual memory, which is usually copied from a physical location not known to the kernel. This function is callable only in kernel mode. |