CComHeap
Class
This class implements IAtlMemMgr
using the COM memory allocation functions.
Important
This class and its members cannot be used in applications that execute in the Windows Runtime.
class CComHeap : public IAtlMemMgr
Name | Description |
---|---|
CComHeap::Allocate |
Call this method to allocate a block of memory. |
CComHeap::Free |
Call this method to free a block of memory allocated by this memory manager. |
CComHeap::GetSize |
Call this method to get the allocated size of a memory block allocated by this memory manager. |
CComHeap::Reallocate |
Call this method to reallocate memory allocated by this memory manager. |
CComHeap
implements memory allocation functions using the COM allocation functions, including CoTaskMemAlloc
, CoTaskMemFree
, IMalloc::GetSize
, and CoTaskMemRealloc
. The maximum amount of memory that can be allocated is equal to INT_MAX
(2147483647) bytes.
See the example for IAtlMemMgr
.
IAtlMemMgr
CComHeap
Header: ATLComMem.h
Call this method to allocate a block of memory.
virtual __declspec(allocator) void* Allocate(size_t nBytes) throw();
nBytes
The requested number of bytes in the new memory block.
Returns a pointer to the start of the newly allocated memory block.
Call CComHeap::Free
or CComHeap::Reallocate
to free the memory allocated by this method.
Implemented using CoTaskMemAlloc
.
Call this method to free a block of memory allocated by this memory manager.
virtual void Free(void* p) throw();
p
Pointer to memory previously allocated by this memory manager. NULL is a valid value and does nothing.
Implemented using CoTaskMemFree
.
Call this method to get the allocated size of a memory block allocated by this memory manager.
virtual size_t GetSize(void* p) throw();
p
Pointer to memory previously allocated by this memory manager.
Returns the size of the allocated memory block in bytes.
Implemented using IMalloc::GetSize
.
Call this method to reallocate memory allocated by this memory manager.
virtual __declspec(allocator) void* Reallocate(void* p, size_t nBytes) throw();
p
Pointer to memory previously allocated by this memory manager.
nBytes
The requested number of bytes in the new memory block.
Returns a pointer to the start of the newly allocated memory block.
Call CComHeap::Free
to free the memory allocated by this method.
Implemented using CoTaskMemRealloc
.
DynamicConsumer Sample
Class Overview
CWin32Heap
Class
CLocalHeap
Class
CGlobalHeap
Class
CCRTHeap
Class
IAtlMemMgr
Class