共用方式為


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 模組的狀態資料