共用方式為


COM 介面進入點

若為 COM 介面的成員函式,請在呼叫匯出介面的方法時,使用 METHOD_PROLOGUE 巨集來維護適當的全域狀態。

通常,CCmdTarget 衍生物件所實作的介面函式已經使用此巨集來自動初始化 pThis 指標。 例如:

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

如需詳細資訊,請參閱 MFC/OLE 實作IUnknown

如下是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 模組的狀態數據