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 |
---|---|
|
Das Objekt wurde erfolgreich widerrufen. |
|
Derzeit ist kein Spion registriert. |
|
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 |