Partager via


Points d'entrée d'interface COM

Pour les fonctions membres d'une interface COM, utilisez la macro de METHOD_PROLOGUE pour maintenir l'état global approprié lorsque les méthodes d'appel d'une interface exportée.

En général, les fonctions membres des interfaces implémentées par CCmdTarget- les objets dérivés utilisent déjà cette macro pour fournir l'initialisation automatique du pointeur d' pThis .Par exemple :

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

Pour plus d'informations, consultez note technique 38 sur l'implémentation MFC/OLE IUnknown .

La macro d' METHOD_PROLOGUE est définie comme suit :

#define METHOD_PROLOGUE(theClass, localClass) \

theClass* pThis = \

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

AFX_MANAGE_STATE(pThis->m_pModuleState) \

La partie de la macro concernée par gérer l'état global est :

AFX_MANAGE_STATE( pThis->m_pModuleState )

Dans cette expression, le m_pModuleState est une variable membre de l'objet contenant.Elle est implémentée par la classe de base d' CCmdTarget et est initialisée à la valeur appropriée par COleObjectFactory, lorsque l'objet est instancié.

Voir aussi

Concepts

Gérer les données d'état des modules MFC