Partager via


CoRevokeMallocSpy, fonction (objbase.h)

Révoque un objet IMallocSpy inscrit.

Syntaxe

HRESULT CoRevokeMallocSpy();

Valeur de retour

Cette fonction peut retourner les valeurs suivantes.

Code de retour Description
S_OK
L’objet a été révoqué avec succès.
CO_E_OBJNOTREG
Aucun espion n’est actuellement enregistré.
E_ACCESSDENIED
Un espion est enregistré, mais il ya des allocations en suspens (pas encore libéré) fait pendant que cet espion était actif.

Notes

L’objet IMallocSpy est libéré lorsqu’il est révoqué. Cette version correspond à l’appel à IUnknown::AddRef dans l’implémentation de la fonction QueryInterface par la fonction CoRegisterMallocSpy . L’implémentation de l’interface IMallocSpy doit ensuite effectuer tout nettoyage approprié.

Si le code de retour est E_ACCESSDENIED, il reste des allocations en suspens qui ont été effectuées pendant que l’espion était actif. Dans ce cas, l’espion enregistré ne peut pas être révoqué à ce stade, car il peut avoir attaché des en-têtes arbitraires et/ou des bandes-annonces à ces allocations que seul l’espion connaît. Seule la méthode PreFree (ou PreRealloc) de l’espion sait comment prendre en compte ces en-têtes et bandes-annonces. Avant de retourner E_ACCESSDENIED, CoRevokeMallocSpy note en interne qu’une révocation est en attente. Une fois les allocations en suspens libérées, la révocation se poursuit automatiquement, libérant l’objet IMallocSpy . Ainsi, il est nécessaire d’appeler CoRevokeMallocSpy une seule fois pour chaque appel à CoRegisterMallocSpy, même si E_ACCESSDENIED est retourné.

Spécifications

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête objbase.h
Bibliothèque Ole32.lib
DLL Ole32.dll

Voir aussi

CoRegisterMallocSpy

IMallocSpy