coRegisterMallocSpy 函数 (objbase.h)
注册 IMallocSpy 接口的实现,此后要求 OLE 围绕对相应 IMalloc 方法的每次调用调用其包装器方法。
语法
HRESULT CoRegisterMallocSpy(
[in] LPMALLOCSPY pMallocSpy
);
参数
[in] pMallocSpy
指向 IMallocSpy 实现实例的指针。
返回值
此函数可以返回E_INVALIDARG的标准返回值,以及以下值。
返回代码 | 说明 |
---|---|
|
已成功注册对象。 |
|
对象已注册。 |
注解
CoRegisterMallocSpy 函数注册 IMallocSpy 对象,该对象用于调试对 IMalloc 方法的调用。 函数针对接口IID_IMallocSpy调用指针 pMallocSpy 上的 QueryInterface。 这是为了确保 pMallocSpy 真正指向 IMallocSpy 的实现。 根据 OLE 的规则,对 QueryInterface 的成功调用预期已通过 AddRef 方法) 添加到 IMallocSpy 对象 (引用。 也就是说,CoRegisterMallocSpy 不会直接在 pMallocSpy 上调用 AddRef,但完全需要 QueryInterface 调用。
注册 IMallocSpy 对象时,每当调用其中一个 IMalloc 方法时,OLE 首先调用相应的 IMallocSpy 预方法。 然后,在执行 IMalloc 方法后,OLE 调用相应的 IMallocSpy 后方法。 例如,每当从任何源调用 IMalloc::Alloc 时,OLE 都会调用 IMallocSpy::P reAlloc,调用 Alloc,并在完成该分配后调用 IMallocSpy::P ostAlloc。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | objbase.h |
Library | Ole32.lib |
DLL | Ole32.dll |