Aracılığıyla paylaş


COM Arabirimi Giriş Noktaları

Uyarı

Microsoft Foundation Sınıfları (MFC) kitaplığı desteklenmeye devam ediyor. Ancak artık özellik eklemeyeceğiz veya belgeleri güncelleştirmeyeceğiz.

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

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

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

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

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 CCmdTarget tarafından uygulanır ve nesne örneği oluşturulduğunda COleObjectFactory tarafından uygun değere başlatılır.

Ayrıca bakınız

MFC Modüllerinin Durum Verilerini Yönetme