ÐÏࡱá>þÿ ?þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿ  þÿÿÿ þÿÿÿþÿÿÿA"#$%&'()*þÿÿÿ,-./01234þÿÿÿ6789:;<=>þÿÿÿþÿÿÿþÿÿÿþÿÿÿCDEFGHIJKþÿÿÿMNOPQRSTUþÿÿÿWXYZ[\]^_þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿRoot Entryÿÿÿÿÿÿÿÿ®2ßóÆ@€Workspace State ÿÿÿÿBrowser ÿÿÿÿ Editorÿÿÿÿÿÿÿÿexample6D:\Work\Project\BS_SDK\BS_SDK_V1_1\Example\Example.dspˆùV .\Example.cpp&{2AE27A3C-17F5-11D0-AF1B-00A0C90F9DE6},ÿÿÿÿÿÿÿÿüÿÿÿéÿÿÿGáSource Files CProjGroupSSBRDJW Header Files CProjGroupSSBRDJWResource Files CProjGroupSSBRDJWDJWDJWM_MAP(X##localClass, localClass) COM_INTERFACE_ENTRY (baseClass) END_COM_MAP() #define 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); #define BEGIN_CONNECTION_PART(theClass, localClass) class X##localClass : public CConnectionPoint { public: X##localClass() { m_nOffset = offsetof(theClass, m_x##localClass); } #define CONNECTION_IID(iid) REFIID GetIID() { return iid; } #define DECLARE_AGGREGATABLE(x) #define DECLARE_CLASSFACTORY_EX(cf) #define DECLARE_CLASSFACTORY() #define DECLARE_CLASSFACTORY2(lic) #define DECLARE_CLASSFACTORY_AUTO_THREAD() #define DECLARE_CLASSFACTORY_SINGLETON(obj) #define DECLARE_CONNECTION_MAP() #define DECLARE_DISPATCH_MAP() #define DECLARE_DUAL_ERRORINFO() #define DECLARE_DYNAMIC(class_name) #define DECLARE_DYNCREATE(class_name) #define DECLARE_EMPTY_MSG_MAP() #define DECLARE_EVENT_MAP() #define DECLARE_EVENTSINK_MAP() #define DECLARE_GET_CONTROLLING_UNKNOWN() #define DECLARE_HANDLE(x) #define DECLARE_HANDLE32(x) #define DECLARE_INTERFACE(iface) interface iface #define DECLARE_INTERFACE_(iface, baseiface) interface iface : public basÉÞxH÷VÈxH÷Ve6D:\Work\Project\BS_SDK\BS_SDK_V1_1\Example\Example.dspˆùV .\Example.cpp&{2AE27A3C-17F5-11D0-AF1B-00A0C90F9DE6},ÿÿÿÿÿÿÿÿüÿÿÿéÿÿÿGáSource Files CProjGroupSSBRDJW Header Files CProjGroupSSBRDJWResource Files CProjGroupSSBRDJWDJWDJWM_MAP(X##localClass, localClass) COM_INTERFACE_ENTRY (baseClass) END_COM_MAP() #define 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); #define BEGIN_CONNECTION_PART(theClass, localClass) class X##localClass : public CConnectionPoint { public: X##localClass() { m_nOffset = offsetof(theClass, m_x##localClass); } #define CONNECTION_IID(iid) REFIID GetIID() { return iid; } #define DECLARE_AGGREGATABLE(x) #define DECLARE_CLASSFACTORY_EX(cf) #define DECLARE_CLASSFACTORY() #define DECLARE_CLASSFACTORY2(lic) #define DECLARE_CLASSFACTORY_AUTO_THREAD() #define DECLARE_CLASSFACTORY_SINGLETON(obj) #define DECLARE_CONNECTION_MAP() #define DECLARE_DISPATCH_MAP() #define DECLARE_DUAL_ERRORINFO() #define DECLARE_DYNAMIC(class_name) #define DECLARE_DYNCREATE(class_name) #define DECLARE_EMPTY_MSG_MAP() #define DECLARE_EVENT_MAP() #define DECLARE_EVENTSINK_MAP() #define DECLARE_GET_CONTROLLING_UNKNOWN() #define DECLARE_HANDLE(x) #define DECLARE_HANDLE32(x) #define DECLARE_INTERFACE(iface) interface iface #define DECLARE_INTERFACE_(iface, baseiface) interface iface : public basÉÞxH÷VÈxH÷VMLJLe6D:\Work\Project\BS_SDK\BS_SDK_V1_1\Example\Example.dspˆùV .\Example.cpp&{2AE27A3C-17F5-11D0-AF1B-00A0C90F9DE6},ÿÿÿÿÿÿÿÿüÿÿÿéÿÿÿGáSource Files CProjGroupSSBRDJW Header Files CProjGroupSSBRDJWResource Files CProjGroupSSBRDJWDJWDJWM_MAP(X##localClass, localClass) COM_INTERFACE_ENTRY (baseClass) END_COM_MAP() #define 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); #define BEGIN_CONNECTION_PART(theClass, localClass) class X##localClass : public CConnectionPoint { public: X##localClass() { m_nOffset = offsetof(theClass, m_x##localClass); } #define CONNECTION_IID(iid) REFIID GetIID() { return iid; } #define DECLARE_AGGREGATABLE(x) #define DECLARE_CLASSFACTORY_EX(cf) #define DECLARE_CLASSFACTORY() #define DECLARE_CLASSFACTORY2(lic) #define DECLARE_CLASSFACTORY_AUTO_THREAD() #define DECLARE_CLASSFACTORY_SINGLETON(obj) #define DECLARE_CONNECTION_MAP() #define DECLARE_DISPATCH_MAP() #define DECLARE_DUAL_ERRORINFO() #define DECLARE_DYNAMIC(class_name) #define DECLARE_DYNCREATE(class_name) #define DECLARE_EMPTY_MSG_MAP() #define DECLARE_EVENT_MAP() #define DECLARE_EVENTSINK_MAP() #define DECLARE_GET_CONTROLLING_UNKNOWN() #define DECLARE_HANDLE(x) #define DECLARE_HANDLE32(x) #define DECLARE_INTERFACE(iface) interface iface #define DECLARE_INTERFACE_(iface, baseiface) interface iface : public basÉÞxH÷VÈxH÷VWorkspace Window" ÿÿÿÿÿÿÿÿ!IPI_Exampleÿÿÿÿ+IPI_ ÿÿÿÿÿÿÿÿÿÿÿÿ5BC7EnableBCÿÿÿÿÿÿÿÿÿÿÿÿExample ClassViewExample classesExample classesFileView!Workspace 'Example': 1 project(s) Example files Source Files Example files!Workspace 'Example': 1 project(s)FileViewGáSource Files CProjGroupSSBRDJW Header Files CProjGroupSSBRDJWResource Files CProjGroupSSBRDJWDJWDJWM_MAP(X##localClass, localClass) COM_INTERFACE_ENTRY (baseClass) END_COM_MAP() #define 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); #define BEGIN_CONNECTION_PART(theClass, localClass) class X##localClass : public CConnectionPoint { public: X##localClass() { m_nOffset = offsetof(theClass, m_x##localClass); } #define CONNECTION_IID(iid) REFIID GetIID() { return iid; } #define DECLARE_AGGREGATABLE(x) #define DECLARE_CLASSFACTORY_EX(cf) #define DECLARE_CLASSFACTORY() #define DECLARE_CLASSFACTORY2(lic) #define DECLARE_CLASSFACTORY_AUTO_THREAD() #define DECLARE_CLASSFACTORY_SINGLETON(obj) #define DECLARE_CONNECTION_MAP() #define DECLARE_DISPATCH_MAP() #define DECLARE_DUAL_ERRORINFO() #define DECLARE_DYNAMIC(class_name) #define DECLARE_DYNCREATE(class_name) #define DECLARE_EMPTY_MSG_MAP() #define DECLARE_EVENT_MAP() #define DECLARE_EVENTSINK_MAP() #define DECLARE_GET_CONTROLLING_UNKNOWN() #define DECLARE_HANDLE(x) #define DECLARE_HANDLE32(x) #define DECLARE_INTERFACE(iface) interface iface #define DECLARE_INTERFACE_(iface, baseiface) interface iface : public basÉÞxH÷VÈxH÷V`êEXAMPLE - WIN32 RELEASE Example.dspCProjectEXAMPLE - WIN32 RELEASEExample - Win32 Releaseêì..\LibExample - Win32 Debugì..\LibêSSBR CTargetItemExample - Win32 ReleaseExample - Win32 DebugSSBR Source Files CProjGroupSSBRDJW Header Files CProjGroupSSBRDJWResource Files CProjGroupSSBRDJWDJWDJWM_MAP(X##localClass, localClass) COM_INTERFACE_ENTRY (baseClass) END_COM_MAP() #define 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); #define BEGIN_CONNECTION_PART(theClass, localClass) class X##localClass : public CConnectionPoint { public: X##localClass() { m_nOffset = offsetof(theClass, m_x##localClass); } #define CONNECTION_IID(iid) REFIID GetIID() { return iid; } #define DECLARE_AGGREGATABLE(x) #define DECLARE_CLASSFACTORY_EX(cf) #define DECLARE_CLASSFACTORY() #define DECLARE_CLASSFACTORY2(lic) #define DECLARE_CLASSFACTORY_AUTO_THREAD() #define DECLARE_CLASSFACTORY_SINGLETON(obj) #define DECLARE_CONNECTION_MAP() #define DECLARE_DISPATCH_MAP() #define DECLARE_DUAL_ERRORINFO() #define DECLARE_DYNAMIC(class_name) #define DECLARE_DYNCREATE(class_name) #define DECLARE_EMPTY_MSG_MAP() #define DECLARE_EVENT_MAP() #define DECLARE_EVENTSINK_MAP() #define DECLARE_GET_CONTROLLING_UNKNOWN() #define DECLARE_HANDLE(x) #define DECLARE_HANDLE32(x) #define DECLARE_INTERFACE(iface) interface iface #define DECLARE_INTERFACE_(iface, baseiface) interface iface : public basÉÞxH÷VÈxH÷V`êExampleÿÿÿÿÿÿCProjectEXAMPLE - WIN32 RELEASEExample - Win32 Releaseêì..\LibExample - Win32 Debugì..\LibêSSBR CTargetItemExample - Win32 ReleaseExample - Win32 DebugSSBR Source Files CProjGroupSSBRDJW Header Files CProjGroupSSBRDJWResource Files CProjGroupSSBRDJWDJWDJWM_MAP(X##localClass, localClass) COM_INTERFACE_ENTRY (baseClass) END_COM_MAP() #define 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); #define BEGIN_CONNECTION_PART(theClass, localClass) class X##localClass : public CConnectionPoint { public: X##localClass() { m_nOffset = offsetof(theClass, m_x##localClass); } #define CONNECTION_IID(iid) REFIID GetIID() { return iid; } #define DECLARE_AGGREGATABLE(x) #define DECLARE_CLASSFACTORY_EX(cf) #define DECLARE_CLASSFACTORY() #define DECLARE_CLASSFACTORY2(lic) #define DECLARE_CLASSFACTORY_AUTO_THREAD() #define DECLARE_CLASSFACTORY_SINGLETON(obj) #define DECLARE_CONNECTION_MAP() #define DECLARE_DISPATCH_MAP() #define DECLARE_DUAL_ERRORINFO() #define DECLARE_DYNAMIC(class_name) #define DECLARE_DYNCREATE(class_name) #define DECLARE_EMPTY_MSG_MAP() #define DECLARE_EVENT_MAP() #define DECLARE_EVENTSINK_MAP() #define DECLARE_GET_CONTROLLING_UNKNOWN() #define DECLARE_HANDLE(x) #define DECLARE_HANDLE32(x) #define DECLARE_INTERFACE(iface) interface iface #define DECLARE_INTERFACE_(iface, baseiface) interface iface : public basÉÞxH÷VÈxH÷VþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿBC7BatchBuildÿÿÿÿÿÿÿÿÿÿÿÿClassView Window"ÿÿÿÿÿÿÿÿÿÿÿÿBDebuggerÿÿÿÿÿÿÿÿÿÿÿÿLDocuments ÿÿÿÿVÿÿ CClsFldSlobExampleÿÿCProjectEXAMPLE - WIN32 RELEASEExample - Win32 Releaseêì..\LibExample - Win32 Debugì..\LibêSSBR CTargetItemExample - Win32 ReleaseExample - Win32 DebugSSBR Source Files CProjGroupSSBRDJW Header Files CProjGroupSSBRDJWResource Files CProjGroupSSBRDJWDJWDJWM_MAP(X##localClass, localClass) COM_INTERFACE_ENTRY (baseClass) END_COM_MAP() #define 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); #define BEGIN_CONNECTION_PART(theClass, localClass) class X##localClass : public CConnectionPoint { public: X##localClass() { m_nOffset = offsetof(theClass, m_x##localClass); } #define CONNECTION_IID(iid) REFIID GetIID() { return iid; } #define DECLARE_AGGREGATABLE(x) #define DECLARE_CLASSFACTORY_EX(cf) #define DECLARE_CLASSFACTORY() #define DECLARE_CLASSFACTORY2(lic) #define DECLARE_CLASSFACTORY_AUTO_THREAD() #define DECLARE_CLASSFACTORY_SINGLETON(obj) #define DECLARE_CONNECTION_MAP() #define DECLARE_DISPATCH_MAP() #define DECLARE_DUAL_ERRORINFO() #define DECLARE_DYNAMIC(class_name) #define DECLARE_DYNCREATE(class_name) #define DECLARE_EMPTY_MSG_MAP() #define DECLARE_EVENT_MAP() #define DECLARE_EVENTSINK_MAP() #define DECLARE_GET_CONTROLLING_UNKNOWN() #define DECLARE_HANDLE(x) #define DECLARE_HANDLE32(x) #define DECLARE_INTERFACE(iface) interface iface #define DECLARE_INTERFACE_(iface, baseiface) interface iface : public basÉÞxHúVÈxH÷V ÿÿÿÿWatch1Watch2Watch3Watch4IN32 RELEASEExample - Win32 Releaseêì..\LibExample - Win32 Debugì..\LibêSSBR CTargetItemExample - Win32 ReleaseExample - Win32 DebugSSBR Source Files CProjGroupSSBRDJW Header Files CProjGroupSSBRDJWResource Files CProjGroupSSBRDJWDJWDJWM_MAP(X##localClass, localClass) COM_INTERFACE_ENTRY (baseClass) END_COM_MAP() #define 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); #define BEGIN_CONNECTION_PART(theClass, localClass) class X##localClass : public CConnectionPoint { public: X##localClass() { m_nOffset = offsetof(theClass, m_x##localClass); } #define CONNECTION_IID(iid) REFIID GetIID() { return iid; } #define DECLARE_AGGREGATABLE(x) #define DECLARE_CLASSFACTORY_EX(cf) #define DECLARE_CLASSFACTORY() #define DECLARE_CLASSFACTORY2(lic) #define DECLARE_CLASSFACTORY_AUTO_THREAD() #define DECLARE_CLASSFACTORY_SINGLETON(obj) #define DECLARE_CONNECTION_MAP() #define DECLARE_DISPATCH_MAP() #define DECLARE_DUAL_ERRORINFO() #define DECLARE_DYNAMIC(class_name) #define DECLARE_DYNCREATE(class_name) #define DECLARE_EMPTY_MSG_MAP() #define DECLARE_EVENT_MAP() #define DECLARE_EVENTSINK_MAP() #define DECLARE_GET_CONTROLLING_UNKNOWN() #define DECLARE_HANDLE(x) #define DECLARE_HANDLE32(x) #define DECLARE_INTERFACE(iface) interface iface #define DECLARE_INTERFACE_(iface, baseiface) interface iface : public basÉÞxH÷VÈxH÷Vx˜C/C++ˆùV .\Example.cpp&{2AE27A3C-17F5-11D0-AF1B-00A0C90F9DE6},ÿÿÿÿÿÿÿÿüÿÿÿéÿÿÿGáSource Files CProjGroupSSBRDJW Header Files CProjGroupSSBRDJWResource Files CProjGroupSSBRDJWDJWDJWM_MAP(X##localClass, localClass) COM_INTERFACE_ENTRY (baseClass) END_COM_MAP() #define 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); #define BEGIN_CONNECTION_PART(theClass, localClass) class X##localClass : public CConnectionPoint { public: X##localClass() { m_nOffset = offsetof(theClass, m_x##localClass); } #define CONNECTION_IID(iid) REFIID GetIID() { return iid; } #define DECLARE_AGGREGATABLE(x) #define DECLARE_CLASSFACTORY_EX(cf) #define DECLARE_CLASSFACTORY() #define DECLARE_CLASSFACTORY2(lic) #define DECLARE_CLASSFACTORY_AUTO_THREAD() #define DECLARE_CLASSFACTORY_SINGLETON(obj) #define DECLARE_CONNECTION_MAP() #define DECLARE_DISPATCH_MAP() #define DECLARE_DUAL_ERRORINFO() #define DECLARE_DYNAMIC(class_name) #define DECLARE_DYNCREATE(class_name) #define DECLARE_EMPTY_MSG_MAP() #define DECLARE_EVENT_MAP() #define DECLARE_EVENTSINK_MAP() #define DECLARE_GET_CONTROLLING_UNKNOWN() #define DECLARE_HANDLE(x) #define DECLARE_HANDLE32(x) #define DECLARE_INTERFACE(iface) interface iface #define DECLARE_INTERFACE_(iface, baseiface) interface iface : public basÉÞxH÷VÈxH÷V