COM接口的入口点

对于 COM 接口的成员函数,当调用导出的接口的方法时,,请使用 METHOD_PROLOGUE 宏维护适当的全局状态。

通常, CCmdTarget实现的接口的成员函数派生的对象已使用此宏提供 pThis 指针的自动初始化。例如:

STDMETHODIMP_(ULONG) CMySink::XSinky::AddRef()
{
   METHOD_PROLOGUE(CMySink, Sinky);
   return pThis->InternalAddRef();
}

有关其他信息,请参见。 MFC/OLE IUnknown 实现的 技术说明 38

METHOD_PROLOGUE 宏将定义如下:

#define METHOD_PROLOGUE(theClass, localClass) \

theClass* pThis = \

((theClass*)((BYTE*)this - offsetof(theClass, m_x##localClass))); \

AFX_MANAGE_STATE(pThis->m_pModuleState) \

使用管理全局状态相关的宏的部分是:

AFX_MANAGE_STATE( pThis->m_pModuleState )

此表达式, m_pModuleState 假定是包含对象的成员变量。实例化对象时,后,它将 CCmdTarget 基类实现并初始化为适当的值。 COleObjectFactory

请参见

概念

管理MFC模块状态数据