Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poznámka:
Knihovna MFC (Microsoft Foundation Classes) se nadále podporuje. Už ale nepřidáme funkce ani aktualizujeme dokumentaci.
Pro členské funkce rozhraní COM použijte k zachování správného globálního stavu při volání metod exportovaného rozhraní makro METHOD_PROLOGUE.
Typicky členské funkce rozhraní implementovaných objekty odvozenými z CCmdTarget již používají toto makro k zajištění automatické inicializace ukazatele pThis. Například:
STDMETHODIMP_(ULONG) CMySink::XSinky::AddRef()
{
METHOD_PROLOGUE(CMySink, Sinky);
return pThis->InternalAddRef();
}
Další informace naleznete v technické poznámce 38 o implementaci MFC/OLE IUnknown .
Makro METHOD_PROLOGUE je definováno takto:
#define METHOD_PROLOGUE(theClass, localClass) \
theClass* pThis = \
((theClass*)((BYTE*)this - offsetof(theClass, m_x##localClass))); \
AFX_MANAGE_STATE(pThis->m_pModuleState) \
Část makra, která se zabývá správou globálního státu, je:
AFX_MANAGE_STATE( pThis->m_pModuleState )
V tomto výrazu se předpokládá, že m_pModuleState je členskou proměnnou obsahujícího objektu. Je implementována základní třídou CCmdTarget a je inicializována na odpovídající hodnotu pomocí COleObjectFactory při vytvoření instance objektu.