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 |
---|---|
|
El objeto se registró correctamente. |
|
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 |