Condividi tramite


Funzione CoRegisterMallocSpy (objbase.h)

Registra un'implementazione dell'interfaccia IMallocSpy , quindi richiede a OLE di chiamare i metodi wrapper per ogni chiamata al metodo IMalloc corrispondente.

Sintassi

HRESULT CoRegisterMallocSpy(
  [in] LPMALLOCSPY pMallocSpy
);

Parametri

[in] pMallocSpy

Puntatore a un'istanza dell'implementazione di IMallocSpy .

Valore restituito

Questa funzione può restituire il valore restituito standard E_INVALIDARG, nonché i valori seguenti.

Codice restituito Descrizione
S_OK
L'oggetto è stato registrato correttamente.
CO_E_OBJISREG
L'oggetto è già registrato.

Commenti

La funzione CoRegisterMallocSpy registra l'oggetto IMallocSpy , usato per eseguire il debug delle chiamate ai metodi IMalloc . La funzione chiama QueryInterface sul puntatore pMallocSpy per l'interfaccia IID_IMallocSpy. Questo è per garantire che pMallocSpy punti realmente a un'implementazione di IMallocSpy. Per le regole di OLE, è previsto che una chiamata a QueryInterface abbia aggiunto un riferimento (tramite il metodo AddRef ) all'oggetto IMallocSpy . Vale a dire, CoRegisterMallocSpy non chiama direttamente AddRef su pMallocSpy, ma prevede completamente che la chiamata a QueryInterface sarà.

Quando l'oggetto IMallocSpy viene registrato, ogni volta che viene effettuata una chiamata a uno dei metodi IMalloc , OLE chiama innanzitutto il metodo di pre-metodo IMallocSpy corrispondente. Quindi, dopo aver eseguito il metodo IMalloc , OLE chiama il metodo post-metodo IMallocSpy corrispondente. Ad esempio, ogni volta che viene eseguita una chiamata a IMalloc::Alloc, da qualsiasi origine, OLE chiama IMallocSpy::P reAlloc, chiama Alloc e, al termine dell'allocazione, chiama IMallocSpy::P ostAlloc.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione objbase.h
Libreria Ole32.lib
DLL Ole32.dll

Vedi anche

CoGetMalloc

CoRevokeMallocSpy

IMallocSpy