Pontos de entrada de Interface COM

Funções de membro de uma interface COM, use o METHOD_PROLOGUE macro para manter o estado global adequado ao chamar métodos de uma interface exportado.

Normalmente, funções de membro das interfaces implementadas por CCmdTarget-objetos derivados já usam essa macro para fornecer a inicialização automática do pThis ponteiro.Por exemplo:

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

Para obter informações adicionais, consulte técnico nota 38 no MFC/OLE IUnknown implementação.

O METHOD_PROLOGUE macro é definida como:

#define METHOD_PROLOGUE(theClass, localClass) \

theClass* pThis = \

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

AFX_MANAGE_STATE(pThis->m_pModuleState) \

É a parte da macro preocupada com o estado global:

AFX_MANAGE_STATE( pThis->m_pModuleState )

Nesta expressão, m_pModuleState é considerado uma variável de membro do objeto recipiente.Ele é implementado pelo CCmdTarget classe base e é inicializada para o valor apropriado por COleObjectFactory, quando o objeto é instanciado.

Consulte também

Conceitos

Gerenciando os dados do estado dos módulos MFC