Condividi tramite


Punti di ingresso dell'interfaccia COM

Per le funzioni membro di un'interfaccia COM, utilizzare la macro di METHOD_PROLOGUE per gestire lo stato complessivo appropriato quando si chiamano metodi di interfaccia esportata.

In genere, le funzioni membro delle interfacce implementate da CCmdTarget- gli oggetti derivati già utilizza questa macro per fornire l'inizializzazione automatica del puntatore di pThis .Di seguito è riportato un esempio:

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

Per ulteriori informazioni, vedere nota tecnica 38 implementazione di MFC/OLE IUnknown .

La macro di METHOD_PROLOGUE viene definita come segue:

#define METHOD_PROLOGUE(theClass, localClass) \

theClass* pThis = \

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

AFX_MANAGE_STATE(pThis->m_pModuleState) \

La parte della macro responsabile della gestione dello stato complessivo è:

AFX_MANAGE_STATE( pThis->m_pModuleState )

In questa espressione, il m_pModuleState sia una variabile membro dell'oggetto contenitore.Viene implementato dalla classe base di CCmdTarget e viene inizializzato sul valore appropriato da COleObjectFactory, quando l'oggetto viene creata un'istanza.

Vedere anche

Concetti

Gestire i dati dello stato dei moduli MFC