IMalloc
Allocates,
frees, and manages memory.
When to Implement
In general,
you should not implement IMalloc, instead using the OLE implementation,
which is guaranteed to be thread-safe in managing task memory. You get a
pointer to the OLE task allocator object s IMalloc through a call to the
CoGetMalloc
function.
When to Use
Call the
methods of IMalloc to allocate and manage memory. The OLE libraries and
object handlers also call the IMalloc methods to manage memory. Object
handlers should call CoGetMalloc to get a pointer to the IMalloc implementation
on the task allocator object, and use the implementation of those methods to
manage task memory.
The IMalloc
methods Alloc, Free, and Realloc are similar to the C
library functions malloc, free, and realloc. For
debugging, refer to the functions CoRegisterMallocSpy and CoRevokeMallocSpy.
Methods in Vtable Order
|
IUnknown Methods |
Description |
|
QueryInterface |
Returns
pointers to supported interfaces. |
|
AddRef |
Increments
the reference count. |
|
Release |
Decrements
the reference count. |
|
IMalloc
Methods |
Description |
|
Alloc |
Allocates a
block of memory. |
|
Realloc |
Changes the
size of a previously allocated block of memory. |
|
Free |
Frees a
previously allocated block of memory. |
|
GetSize |
Returns the
size in bytes of a previously allocated block of memory. |
|
DidAlloc |
Determines
if this instance of IMalloc was used to allocate the specified block of
memory. |
|
HeapMinimize |
Minimizes
the heap by releasing unused memory to the operating system. |
See Also