Udostępnij za pośrednictwem


Punkty wejścia interfejsu COM

Dla funkcji członka interfejsu COM, użyj METHOD_PROLOGUE makro w celu utrzymania właściwego stanu globalnego podczas wywoływania metod eksportowanych interfejsu.

Zazwyczaj, funkcje składowe interfejsy implementowane przez CCmdTarget-obiekty pochodne już używanie tego makra zapewnienie automatycznego inicjowania pThis wskaźnik.Na przykład:

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

Aby uzyskać dodatkowe informacje, zobacz technicznej 38 Uwaga na MFC/OLE IUnknown wykonania.

METHOD_PROLOGUE Makro jest zdefiniowana jako:

#define METHOD_PROLOGUE(theClass, localClass) \

theClass* pThis = \

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

AFX_MANAGE_STATE(pThis->m_pModuleState) \

Część związane z zarządzaniem stan globalny makro jest:

AFX_MANAGE_STATE( pThis->m_pModuleState )

W tym wyrażeniu m_pModuleState zakłada się zmienną obiektu zawierającego.Jest implementowana przez CCmdTarget klasa podstawowa i jest ustawiana na odpowiednią wartość przez COleObjectFactory, gdy obiekt zostanie uruchomiony.

Zobacz też

Koncepcje

Zarządzanie danymi stanu modułów MFC