Compartir a través de


Función CoRegisterMallocSpy (objbase.h)

Registra una implementación de la interfaz IMallocSpy , que posteriormente requiere QUE OLE llame a sus métodos contenedoros en torno a cada llamada al método IMalloc correspondiente.

Sintaxis

HRESULT CoRegisterMallocSpy(
  [in] LPMALLOCSPY pMallocSpy
);

Parámetros

[in] pMallocSpy

Puntero a una instancia de la implementación de IMallocSpy .

Valor devuelto

Esta función puede devolver el valor devuelto estándar E_INVALIDARG, así como los siguientes valores.

Código devuelto Descripción
S_OK
El objeto se registró correctamente.
CO_E_OBJISREG
El objeto ya está registrado.

Comentarios

La función CoRegisterMallocSpy registra el objeto IMallocSpy , que se usa para depurar llamadas a métodos IMalloc . La función llama a QueryInterface en el puntero pMallocSpy para la interfaz IID_IMallocSpy. Esto es para asegurarse de que pMallocSpy apunta realmente a una implementación de IMallocSpy. Según las reglas de OLE, se espera que una llamada correcta a QueryInterface haya agregado una referencia (a través del método AddRef ) al objeto IMallocSpy . Es decir, CoRegisterMallocSpy no llama directamente a AddRef en pMallocSpy, pero espera completamente que la llamada a QueryInterface lo haga.

Cuando se registra el objeto IMallocSpy , cada vez que hay una llamada a uno de los métodos IMalloc , OLE llama primero al método previo IMallocSpy correspondiente. Después de ejecutar el método IMalloc , OLE llama al método posterior IMallocSpy correspondiente. Por ejemplo, siempre que haya una llamada a IMalloc::Alloc, desde cualquier origen, OLE llama a IMallocSpy::P reAlloc, llama a Alloc y después de que se complete esa asignación, llama a IMallocSpy::P ostAlloc.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado objbase.h
Library Ole32.lib
Archivo DLL Ole32.dll

Consulte también

CoGetMalloc

CoRevokeMallocSpy

IMallocSpy