Puntos de entrada de la interfaz COMCOM Interface Entry Points

En el caso de las funciones miembro de una interfaz COM, utilice la METHOD_PROLOGUE macro para mantener el estado global adecuado al llamar a los métodos de una interfaz exportada.For member functions of a COM interface, use the METHOD_PROLOGUE macro to maintain the proper global state when calling methods of an exported interface.

Normalmente, las funciones miembro de interfaces implementadas por CCmdTarget objetos derivados de ya usan esta macro para proporcionar la inicialización automática del pThis puntero.Typically, member functions of interfaces implemented by CCmdTarget-derived objects already use this macro to provide automatic initialization of the pThis pointer. Por ejemplo:For example:

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

Para obtener más información, vea la Nota técnica 38 sobre la implementación de MFC/OLE IUnknown .For additional information, see Technical Note 38 on MFC/OLE IUnknown implementation.

La METHOD_PROLOGUE macro se define como:The METHOD_PROLOGUE macro is defined as:

#define METHOD_PROLOGUE(theClass, localClass) \
    theClass* pThis = \
    ((theClass*)((BYTE*)this - offsetof(theClass, m_x##localClass))); \
    AFX_MANAGE_STATE(pThis->m_pModuleState) \

La parte de la macro que se refiere a la administración del estado global es:The portion of the macro concerned with managing the global state is:

AFX_MANAGE_STATE( pThis->m_pModuleState )

En esta expresión, se supone que m_pModuleState es una variable miembro del objeto contenedor.In this expression, m_pModuleState is assumed to be a member variable of the containing object. Lo implementa la CCmdTarget clase base y se inicializa en el valor adecuado de COleObjectFactory , cuando se crea una instancia del objeto.It is implemented by the CCmdTarget base class and is initialized to the appropriate value by COleObjectFactory, when the object is instantiated.

Consulte tambiénSee also

Administrar los datos de estado de los módulos MFCManaging the State Data of MFC Modules