Aracılığıyla paylaş


COM Arabirimi Giriş Noktaları

BIR COM arabiriminin üye işlevleri için, dışarı aktarılan arabirimin yöntemlerini çağırırken uygun genel durumu korumak için makroyu kullanın METHOD_PROLOGUE .

Genellikle, türetilmiş nesneler tarafından CCmdTargetuygulanan arabirimlerin üye işlevleri, işaretçinin otomatik olarak başlatılmasını sağlamak için bu makroyu pThis zaten kullanır. Örnek:

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

Ek bilgi için bkz. MFC/OLE IUnknown uygulamasıyla ilgili Teknik Not 38.

Makro METHOD_PROLOGUE şu şekilde tanımlanır:

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

Makronun genel durumu yönetmeyle ilgili bölümü şu şekildedir:

AFX_MANAGE_STATE( pThis->m_pModuleState )

Bu ifadede, m_pModuleState içeren nesnenin üye değişkeni olduğu varsayılır. Temel sınıf tarafından CCmdTarget uygulanır ve nesnesi örneği oluşturulurken tarafından COleObjectFactoryuygun değere başlatılır.

Ayrıca bkz.

MFC Modüllerinin Durum Verisini Yönetme