IMallocSpy
The IMallocSpy
interface is a debugging interface that allows application developers to
monitor (spy on) memory allocation, detect memory leaks and simulate memory
failure in calls to IMalloc methods.
Caution The IMallocSpy
interface is intended to be used only to debug application code under
development. Do not ship this interface to retail customers of your
application, because it causes severe performance degradation and could
conflict with user-installed software to produce unpredictable results.
When to Implement
Implement
this interface to debug memory allocation during application development.
When to Use
When an
implementation of IMallocSpy is registered with CoRegisterMallocSpy, OLE calls the pair of IMallocSpy
methods around the corresponding IMalloc method. You would not make direct calls to IMallocSpy
methods. The OLE SDK contains a sample implementation of IMallocSpy. The
call to the pre-method through the return from the corresponding post-method is
guaranteed to be thread-safe in multi-threaded operations.
Methods in Vtable Order
|
IUnknown Methods |
Description |
|
QueryInterface |
Returns
pointers to supported interfaces. |
|
AddRef |
Increments
reference count. |
|
Release |
Decrements
reference count. |
|
IMallocSpy
Methods |
Description |
|
PreAlloc |
Called
before invoking IMalloc::Alloc, and may extend or modify the allocation to store
debug information. |
|
PostAlloc |
Called
after invoking IMalloc::Alloc. |
|
PreFree |
Called
before invoking IMalloc::Free. |
|
PostFree |
Called
after invoking IMalloc::Free. |
|
PreRealloc |
Called
before invoking IMalloc::Realloc. |
|
PostRealloc |
Called
after invoking IMalloc::Realloc. |
|
PreGetSize |
Called
before invoking IMalloc::GetSize. |
|
PostGetSize |
Called after
invoking IMalloc::GetSize. |
|
PreDidAlloc |
Called
before invoking IMalloc::DidAlloc. |
|
PostDidAlloc |
Called
after invoking IMalloc::DidAlloc. |
|
PreHeapMinimize |
Called
before invoking IMalloc::DidAlloc. |
|
PostHeapMinimize |
Called
after invoking IMalloc::HeapMinimize. |
See Also