CoRevokeMallocSpy
Revokes a registered 
IMallocSpy object.
HRESULT CoRevokeMallocSpy();
Return Values
S_OK
Indicates the 
IMallocSpy object is successfully revoked.
CO_E_OBJNOTREG
Indicates no spy is currently registered.
E_ACCESSDENIED
Indicates a spy is registered but there are outstanding allocations (not yet
freed) made while this spy was active. 
Comments
The 
IMallocSpy object is released when it is revoked. This release corresponds to the call
to 
IUnknown::AddRef in the implementation of the 
QueryInterface function by the 
CoRegisterMallocSpy function. The implementation of the 
IMallocSpy interface should then do any appropriate clean-up.
If the return code is E_ACCESSDENIED, there are still outstanding allocations
that were done while the spy was active. The registered spy cannot be revoked
at this time because it may have attached arbitrary headers and/or trailers to
these allocations which only the spy knows about. Only the spy's 
PreFree (or 
PreRealloc) method knows how to account for these headers and trailers. Before returning
E_ACCESSDENIED, 
CoRevokeMallocSpy notes internally that a revoke is pending. When the outstanding allocations
have been freed, the revoke proceeds automatically, releasing the 
IMallocSpy object. This means that it is necessary to call 
CoRevokeMallocSpy only once for each call to 
CoRegisterMallocSpy, even if E_ACCESSDENIED is returned.
See Also
IMallocSpy, 
CoRegisterMallocSpy, 
CoGetMalloc
			
				- Software for developers
				
 - 
				Delphi Components
				.Net Components
				Software for Android Developers
				 - More information resources
				
 - 
				MegaDetailed.Net
				Unix Manual Pages
				Delphi Examples