Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Untuk fungsi anggota antarmuka COM, gunakan METHOD_PROLOGUE makro untuk mempertahankan status global yang tepat saat memanggil metode antarmuka yang diekspor.
Biasanya, fungsi anggota antarmuka yang diimplementasikan oleh objek turunan CCmdTarget sudah menggunakan makro ini untuk menyediakan inisialisasi pointer secara otomatis pThis. Contohnya:
STDMETHODIMP_(ULONG) CMySink::XSinky::AddRef()
{
METHOD_PROLOGUE(CMySink, Sinky);
return pThis->InternalAddRef();
}
Untuk informasi tambahan, lihat Catatan Teknis 38 tentang implementasi MFC/OLE IUnknown .
METHOD_PROLOGUE Makro didefinisikan sebagai:
#define METHOD_PROLOGUE(theClass, localClass) \
theClass* pThis = \
((theClass*)((BYTE*)this - offsetof(theClass, m_x##localClass))); \
AFX_MANAGE_STATE(pThis->m_pModuleState) \
Bagian dari makro yang berkaitan dengan pengelolaan status global adalah:
AFX_MANAGE_STATE( pThis->m_pModuleState )
Dalam ekspresi ini, m_pModuleState diasumsikan sebagai variabel anggota dari objek yang berisi. Ini diimplementasikan oleh CCmdTarget kelas induk dan diinisialisasi dengan nilai yang sesuai oleh COleObjectFactory, saat objek diinstansiasi.