Share via


Puntos de entrada de interfaz COM

Para las funciones miembro de interfaz COM, utilice la macro de METHOD_PROLOGUE para mantener el estado global adecuada al llamar a métodos de una interfaz exportada.

Normalmente, las funciones miembro de las interfaces implementadas por CCmdTarget- objetos derivados utilizan ya esta macro para proporcionar inicialización automática de puntero de pThis .Por ejemplo:

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

Para obtener más información, vea nota técnica 38 en la implementación de MFC/OLE IUnknown .

La macro de METHOD_PROLOGUE se define como:

#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 ocuparse de administrar el estado global es:

AFX_MANAGE_STATE( pThis->m_pModuleState )

En esta expresión, el m_pModuleState se supone que una variable miembro del objeto contenedor.Se implementa mediante la clase base de CCmdTarget y inicializado el valor adecuado para COleObjectFactory, cuando se crean instancias del objeto.

Vea también

Conceptos

Administrar los datos de estado de los módulos MFC