__RPC_FAR CALLBACK EXPORT FAR far FASTCALL __fastcall NEAR PASCAL SIZE_T_MAX UINT_MAX UNALIGNED ATL_NO_VTABLE __declspec(novtable) AFX_API_EXPORT __declspec(dllexport) AFX_API_IMPORT __declspec(dllimport) AFX_CDECL __cdecl AFX_CLASS_EXPORT __declspec(dllexport) AFX_CLASS_IMPORT __declspec(dllimport) AFX_COMDAT __declspec(selectany) AFX_CORE_DATA AFX_CORE_DATADEF AFX_DATA AFX_DATA_EXPORT __declspec(dllexport) AFX_DATA_IMPORT __declspec(dllimport) AFX_DATADEF AFX_DB_DATA AFX_DB_DATADEF AFX_EXPORT EXPORT AFX_EXT_API AFX_EXT_CLASS AFX_EXT_DATA AFX_EXT_DATADEF AFX_NET_DATA AFX_NET_DATADEF AFX_NOVTABLE AFX_OLE_DATA AFX_OLE_DATADEF AFX_STATIC extern AFX_STATIC_DATA extern __declspec(selectany) AFXAPI __stdcall AFXOLEAPI __stdcall BASED_CODE BASED_DEBUG BASED_STACK BEGIN_DUAL_INTERFACE_PART(localClass, baseClass) class X##localClass : public baseClass { public: BEGIN_COM_MAP(X##localClass, localClass) COM_INTERFACE_ENTRY (baseClass) END_COM_MAP() BEGIN_INTERFACE_PART(localClass, baseClass) class X##localClass : public baseClass { public: BEGIN_COM_MAP(X##localClass, localClass) COM_INTERFACE_ENTRY (baseClass) END_COM_MAP() public: virtual ULONG STDMETHODCALLTYPE AddRef(); virtual ULONG STDMETHODCALLTYPE Release(); virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void * * ppvObj); BEGIN_CONNECTION_PART(theClass, localClass) class X##localClass : public CConnectionPoint { public: X##localClass() { m_nOffset = offsetof(theClass, m_x##localClass); } CDECL __cdecl CONNECTION_IID(iid) REFIID GetIID() { return iid; } DECLARE_AGGREGATABLE(x) DECLARE_CLASSFACTORY_EX(cf) DECLARE_CLASSFACTORY() DECLARE_CLASSFACTORY2(lic) DECLARE_CLASSFACTORY_AUTO_THREAD() DECLARE_CLASSFACTORY_SINGLETON(obj) DECLARE_CONNECTION_MAP() DECLARE_DISPATCH_MAP() DECLARE_DUAL_ERRORINFO() DECLARE_DYNAMIC(class_name) DECLARE_DYNCREATE(class_name) DECLARE_EMPTY_MSG_MAP() DECLARE_EVENT_MAP() DECLARE_EVENTSINK_MAP() DECLARE_GET_CONTROLLING_UNKNOWN() DECLARE_HANDLE(x) DECLARE_HANDLE32(x) DECLARE_INTERFACE(iface) interface iface DECLARE_INTERFACE_(iface, baseiface) interface iface : public baseiface DECLARE_INTERFACE_MAP() DECLARE_MESSAGE_MAP() DECLARE_NO_REGISTRY() DECLARE_NOT_AGGREGATABLE(x) DECLARE_OBJECT_DESCRIPTION(x) DECLARE_OLECMD_MAP() DECLARE_OLECREATE(class_name) DECLARE_OLECREATE_EX(class_name) DECLARE_OLECTLTYPE(class_name) DECLARE_OLETYPELIB(class_name) DECLARE_ONLY_AGGREGATABLE(x) DECLARE_OPAQUE32(x) DECLARE_PARSE_MAP() DECLARE_POLY_AGGREGATABLE(x) DECLARE_PROPERTY_SUPPORT(class) DECLARE_PROPPAGEIDS(class_name) DECLARE_PROTECT_FINAL_CONSTRUCT() DECLARE_REGISTRY(class, pid, vpid, nid, flags) DECLARE_REGISTRY_RESOURCE(x) DECLARE_REGISTRY_RESOURCEID(x) DECLARE_SERIAL(class_name) DECLARE_STATIC_REGISTRY_RESOURCE(x) DECLARE_STATIC_REGISTRY_RESOURCEID(x) DECLARE_WND_CLASS(WndClassName) DECLARE_WND_SUPERCLASS(WndClassName, OrigWndClassName) DELEGATE_DUAL_INTERFACE(objectClass, dualClass) END_CONNECTION_PART(localClass) } m_x##localClass; friend class X##localClass; END_DUAL_INTERFACE_PART(localClass) } m_x##localClass; friend class X##localClass; END_INTERFACE_PART(localClass) } m_x##localClass; friend class X##localClass; EXTERN_PROCESS_LOCAL(class_name, ident_name) extern AFX_DATA PROCESS_LOCAL(class_name, ident_name) IMPLEMENT_DUAL_ERRORINFO(objectClass, riidSource) IMPLEMENT_DYNAMIC(class_name, base_class_name) IMPLEMENT_DYNCREATE(class_name, base_class_name) IMPLEMENT_OLECREATE(class_name, external_name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) IMPLEMENT_OLECREATE_EX(class_name, external_name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) IMPLEMENT_OLECTLTYPE(class_name, idsUserTypeName, dwOleMisc) IMPLEMENT_OLETYPELIB(class_name, tlid, wVerMajor, wVerMinor) IMPLEMENT_SERIAL(class_name, base_class_name, wSchema) INIT_INTERFACE_PART(theClass, localClass) PROCESS_LOCAL(class_name, ident_name) AFX_DATADEF CProcessLocal ident_name; PURE = 0 STDMETHOD(method) virtual HRESULT STDMETHODCALLTYPE method STDMETHOD_(type,method) virtual type STDMETHODCALLTYPE method STDMETHODIMP_(type) type STDMETHODCALLTYPE STDMETHODIMP HRESULT STDMETHODCALLTYPE THIS void THIS_ TRY try { CATCH(class_name, e) } catch (class_name * e) { AND_CATCH(class_name, e) } catch (class_name * e) { END_CATCH } CATCH_ALL(e) } catch (CException* e) { AND_CATCH_ALL(e) } catch (CException* e) { END_CATCH_ALL }