Share via


CoRegisterMallocSpy-Funktion (objbase.h)

Registriert eine Implementierung der IMallocSpy-Schnittstelle . Danach muss OLE seine Wrappermethoden bei jedem Aufruf der entsprechenden IMalloc-Methode aufrufen.

Syntax

HRESULT CoRegisterMallocSpy(
  [in] LPMALLOCSPY pMallocSpy
);

Parameter

[in] pMallocSpy

Ein Zeiger auf eine instance der IMallocSpy-Implementierung.

Rückgabewert

Diese Funktion kann den Standardrückgabewert E_INVALIDARG sowie die folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Das Objekt wurde erfolgreich registriert.
CO_E_OBJISREG
Das Objekt ist bereits registriert.

Hinweise

Die CoRegisterMallocSpy-Funktion registriert das IMallocSpy-Objekt , das zum Debuggen von Aufrufen von IMalloc-Methoden verwendet wird. Die Funktion ruft QueryInterface auf dem Zeiger pMallocSpy für die Schnittstelle IID_IMallocSpy auf. Dies ist, um sicherzustellen, dass pMallocSpy wirklich auf eine Implementierung von IMallocSpy verweist. Nach den OLE-Regeln wird erwartet, dass ein erfolgreicher Aufruf von QueryInterface einen Verweis (über die AddRef-Methode ) zum IMallocSpy-Objekt hinzugefügt hat. Das heißt, CoRegisterMallocSpy ruft AddRef nicht direkt auf pMallocSpy auf, erwartet aber vollständig, dass der QueryInterface-Aufruf ausgeführt wird.

Wenn das IMallocSpy-Objekt registriert wird, ruft OLE zuerst die entsprechende IMallocSpy-Prämethode auf, wenn eine der IMalloc-Methoden aufgerufen wird. Nach dem Ausführen der IMalloc-Methode ruft OLE dann die entsprechende IMallocSpy-Post-Methode auf. Wenn beispielsweise ein Aufruf von IMalloc::Alloc aus beliebiger Quelle erfolgt, ruft OLE IMallocSpy::P reAlloc auf, ruft Alloc auf und ruft nach Abschluss dieser Zuordnung IMallocSpy::P ostAlloc auf.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile objbase.h
Bibliothek Ole32.lib
DLL Ole32.dll

Weitere Informationen

CoGetMalloc

CoRevokeMallocSpy

IMallocSpy