import "iunknown.idl";
[
object,
local,
uuid(0000001d-0000-0000-c000-000000000046)
]
interface IMallocSpy : IUnknown
{
size_t PreAlloc(size_t size);
void *PostAlloc(void *p);
void *PreFree(void *p, bool spyed);
void PostFree(bool spyed);
size_t PreRealloc(void *p, size_t size, void **new_ptr, bool spyed);
void *PostRealloc(void *p, bool spyed);
void *PreGetSize(void *p, bool spyed);
size_t PostGetSize(size_t size, bool spyed);
void *PreDidAlloc(void *p, bool spyed);
int PostDidAlloc(void *p, bool spyed, int result);
void PreHeapMinimize();
void PostHeapMinimize();
};