IMallocSpy::PreGetSize (Compact 2013)
3/26/2014
This method is called by COM just prior to any call to the IMalloc::GetSize method.
Syntax
void* PreGetSize(
void* pRequest,
BOOL fSpyed
);
Parameters
- pRequest
[in] Pointer the caller is passing to IMalloc::GetSize.
- fSpyed
[in] TRUE if the allocation was done while the spy was active, otherwise FALSE.
Return Value
Pointer to the actual allocation for which the size is to be determined.
Remarks
The IMallocSpy::PreGetSize method receives as its pRequest parameter the pointer the caller is passing to IMalloc::GetSize.
It must then return a pointer to the actual allocation, which may have altered pRequest in the implementation of either the IMallocSpy::PreAlloc method or the IMallocSpy::PreRealloc method.
The pointer to the true allocation is then passed to IMalloc::GetSize as its pv parameter.
IMalloc::GetSize then returns the size determined, and COM passes this value to the IMallocSpy::PostGetSize method in cbActual.
Note
The size determined by IMalloc::GetSize is the value returned by the Win32 function HeapSize. Implementers of IMallocSpy::PostGetSize cannot assume that if cbActual is sizeof(debug_header), the value is the actual size of the user's allocation.
To determine whether the platform supports this interface, see Determining Supported COM APIs.
Requirements
Header |
objidl.h, |
Library |
ole32.lib |
See Also
Reference
IMallocSpy
CoRegisterMallocSpy
CoRevokeMallocSpy
IMalloc::GetSize
IMallocSpy::PostGetSize
IMallocSpy::PreAlloc
IMallocSpy::PreRealloc