CoRevokeMallocSpy-Funktion (objbase.h)

Widerruft ein registriertes IMallocSpy-Objekt .

Syntax

HRESULT CoRevokeMallocSpy();

Rückgabewert

Diese Funktion kann die folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Das Objekt wurde erfolgreich widerrufen.
CO_E_OBJNOTREG
Derzeit ist kein Spion registriert.
E_ACCESSDENIED
Ein Spion ist registriert, aber es gibt ausstehende Zuordnungen (noch nicht freigegeben), während dieser Spion aktiv war.

Hinweise

Das IMallocSpy-Objekt wird freigegeben, wenn es widerrufen wird. Diese Version entspricht dem Aufruf von IUnknown::AddRef in der Implementierung der QueryInterface-Funktion durch die CoRegisterMallocSpy-Funktion . Die Implementierung der IMallocSpy-Schnittstelle sollte dann eine entsprechende Bereinigung durchführen.

Wenn der Rückgabecode E_ACCESSDENIED ist, gibt es noch ausstehende Zuordnungen, die vorgenommen wurden, während der Spion aktiv war. In diesem Fall kann der registrierte Spion zu diesem Zeitpunkt nicht widerrufen werden, da er möglicherweise willkürliche Header und /oder Anhänger an diese Zuordnungen angefügt hat, von denen nur der Spion weiß. Nur die PreFree-Methode (oder PreRealloc) des Spion weiß, wie diese Header und Trailer berücksichtigt werden. Vor der Rückgabe von E_ACCESSDENIED stellt CoRevokeMallocSpy intern fest, dass ein Widerruf aussteht. Wenn die ausstehenden Zuordnungen freigegeben wurden, wird der Widerruf automatisch fortgesetzt, und das IMallocSpy-Objekt wird freigegeben. Daher ist es notwendig, CoRevokeMallocSpy nur einmal für jeden Aufruf von CoRegisterMallocSpy aufzurufen, auch wenn E_ACCESSDENIED zurückgegeben wird.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile objbase.h
Bibliothek Ole32.lib
DLL Ole32.dll

Weitere Informationen

CoRegisterMallocSpy

IMallocSpy