IMallocSpy
A version of this page is also available for
4/8/2010
This 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.
Warning
The IMallocSpy interface is intended only for use in debugging 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 the CoRegisterMallocSpy function, COM calls the pair of IMallocSpy methods around the corresponding IMalloc method. You would not make direct calls to IMallocSpy methods.
The call to the pre-method through the return from the corresponding post-method is guaranteed to be thread-safe in multithreaded operations.
Methods
The following table shows the methods for this interface in the order that the compiler calls the methods. Like all COM interfaces, this interface inherits the methods for the IUnknown interface.
IUnknown method | Description |
---|---|
Returns pointers to supported interfaces. |
|
Increments reference count. |
|
Decrements reference count. |
IMallocSpy method | Description |
---|---|
Called before invoking IMalloc::Alloc, and may extend or modify the allocation to store debug information. |
|
Called after invoking IMalloc::Alloc. |
|
Called before invoking IMalloc::Free. |
|
Called after invoking IMalloc::Free. |
|
Called before invoking IMalloc::Realloc. |
|
Called after invoking IMalloc::Realloc. |
|
Called before invoking IMalloc::GetSize. |
|
Called after invoking IMalloc::GetSize. |
|
Called before invoking IMalloc::DidAlloc. |
|
Called after invoking IMalloc::DidAlloc. |
|
Called before invoking IMalloc::HeapMinimize. |
|
Called after invoking IMalloc::HeapMinimize. |
Remarks
To determine whether the platform supports this interface, see Determining Supported COM APIs.
Requirements
Header | objidl.h, objidl.idl |
Library | ole32.lib |
Windows Embedded CE | Windows CE 3.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
CoGetMalloc
CoRegisterMallocSpy
IMalloc
IMalloc::Alloc
IMalloc::DidAlloc
IMalloc::Free
IMalloc::GetSize
IMalloc::HeapMinimize