Partager via


CoRegisterMallocSpy, fonction (objbase.h)

Inscrit une implémentation de l’interface IMallocSpy , exigeant par la suite qu’OLE appelle ses méthodes wrapper autour de chaque appel à la méthode IMalloc correspondante.

Syntaxe

HRESULT CoRegisterMallocSpy(
  [in] LPMALLOCSPY pMallocSpy
);

Paramètres

[in] pMallocSpy

Pointeur vers un instance de l’implémentation IMallocSpy.

Valeur retournée

Cette fonction peut retourner la valeur de retour standard E_INVALIDARG, ainsi que les valeurs suivantes.

Code de retour Description
S_OK
L’objet a été correctement inscrit.
CO_E_OBJISREG
L’objet est déjà inscrit.

Remarques

La fonction CoRegisterMallocSpy inscrit l’objet IMallocSpy , qui est utilisé pour déboguer les appels aux méthodes IMalloc . La fonction appelle QueryInterface sur le pointeur pMallocSpy pour l’interface IID_IMallocSpy. Cela permet de s’assurer que pMallocSpy pointe vraiment vers une implémentation de IMallocSpy. Selon les règles d’OLE, on s’attend à ce qu’un appel réussi à QueryInterface ait ajouté une référence (via la méthode AddRef ) à l’objet IMallocSpy . Autrement dit, CoRegisterMallocSpy n’appelle pas directement AddRef sur pMallocSpy, mais s’attend à ce que l’appel QueryInterface le fasse.

Lorsque l’objet IMallocSpy est inscrit, chaque fois qu’il y a un appel à l’une des méthodes IMalloc , OLE appelle d’abord la pré-méthode IMallocSpy correspondante. Ensuite, après avoir exécuté la méthode IMalloc , OLE appelle la post-méthode IMallocSpy correspondante. Par exemple, chaque fois qu’il y a un appel à IMalloc ::Alloc, à partir d’une source quelconque, OLE appelle IMallocSpy ::P reAlloc, appelle Alloc et, une fois cette allocation terminée, appelle IMallocSpy ::P ostAlloc.

Configuration requise

Condition requise Valeur
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

CoGetMalloc

CoRevokeMallocSpy

IMallocSpy