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 CCmdTarget
uygulanan 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 COleObjectFactory
uygun değere başlatılır.