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 |
---|---|
|
L’objet a été révoqué avec succès. |
|
Aucun espion n’est actuellement enregistré. |
|
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 |