Partager via


points d'entrée d'interface COM

Pour les fonctions membres d'une interface, utilisez la macro de METHOD_PROLOGUE pour gérer l'état général approprié lors des 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à la macro pour fournir l'initialisation automatique du pointeur de 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 de MFC/OLE IUnknown.

La propriété METHOD_PROLOGUE macro 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 qui s'occupe de 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 conteneur. Il est implémenté par la classe de base de CCmdTarget et est lancé à la valeur appropriée par COleObjectFactory, lorsque l'objet est instancié.

Voir aussi

Concepts

Gestion des données d'état des modules MFC