共用方式為


CoRegisterMallocSpy 函式 (objbase.h)

註冊 IMallocSpy 介面的實作,之後要求 OLE 在每次呼叫對應的 IMalloc 方法時呼叫其包裝函式方法。

語法

HRESULT CoRegisterMallocSpy(
  [in] LPMALLOCSPY pMallocSpy
);

參數

[in] pMallocSpy

IMallocSpy 實作實例的指標。

傳回值

此函式可以傳回標準傳回值E_INVALIDARG,以及下列值。

傳回碼 描述
S_OK
已成功註冊物件。
CO_E_OBJISREG
對象已註冊。

備註

CoRegisterMallocSpy 函式會註冊 IMallocSpy 對象,用來偵錯對 IMalloc 方法的呼叫。 函式會在介面的 pMallocSpy 指標上呼叫 QueryInterface IID_IMallocSpy。 這是為了確保 pMallocSpy 確實指向 IMallocSpy 的實作。 根據 OLE 的規則,預期 成功呼叫 QueryInterface 已透過 AddRef 方法將參考 (新增至 IMallocSpy 物件) 。 也就是說,CoRegisterMallocSpy 不會直接在 pMallocSpy 上呼叫 AddRef,但完全預期 QueryInterface 呼叫將會。

註冊 IMallocSpy 物件時,每當其中一個 IMalloc 方法呼叫時,OLE 會先呼叫對應的 IMallocSpy pre-method。 然後,在執行 IMalloc 方法之後,OLE 會呼叫對應的 IMallocSpy post-method。 例如,每當從任何來源呼叫 IMalloc::Alloc 時,OLE 會呼叫 IMallocSpy::P reAlloc、呼叫 Alloc,然後在該配置完成之後呼叫 IMallocSpy::P ostAlloc

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 objbase.h
程式庫 Ole32.lib
Dll Ole32.dll

另請參閱

CoGetMalloc

CoRevokeMallocSpy

IMallocSpy