Sdílet prostřednictvím


COM – vstupní body rozhraní

Členské funkce rozhraní COM použít METHOD_PROLOGUE makro k udržení správné globálního stavu při volání metod exportovaných rozhraní.

Obvykle členské funkce rozhraní implementované CCmdTarget-odvozené objekty již zajistit automatické inicializace použít toto makro pThis ukazatele.Příklad:

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

Další informace naleznete v tématu Technická poznámka: 38 na MFC/OLE IUnknown provedení.

METHOD_PROLOGUE Makro je definováno jako:

#define METHOD_PROLOGUE(theClass, localClass) \

theClass* pThis = \

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

AFX_MANAGE_STATE(pThis->m_pModuleState) \

Část makra, která se týkají správy globálního stavu je:

AFX_MANAGE_STATE( pThis->m_pModuleState )

V tomto výrazu m_pModuleState se považuje za členskou proměnnou obsahující objektu.Je implementován CCmdTarget základní třída a je inicializován na odpovídající hodnotu v COleObjectFactory, když je vytvořena instance objektu.

Viz také

Koncepty

Správa údajů o stavu modulů knihovny MFC