// Connect.h : Declaration of the CConnect #pragma once #include "resource.h" // main symbols // CConnect class ATL_NO_VTABLE CConnect : public CComObjectRootEx, public CComCoClass, public IDispatchImpl { public: CConnect() { } DECLARE_REGISTRY_RESOURCEID(IDR_ADDIN) DECLARE_NOT_AGGREGATABLE(CConnect) BEGIN_COM_MAP(CConnect) COM_INTERFACE_ENTRY(IDispatch) COM_INTERFACE_ENTRY(AddInDesignerObjects::IDTExtensibility2) END_COM_MAP() DECLARE_PROTECT_FINAL_CONSTRUCT() HRESULT FinalConstruct() { return S_OK; } void FinalRelease() { } public: //IDTExtensibility2 implementation: STDMETHOD(OnConnection)(IDispatch * Application, AddInDesignerObjects::ext_ConnectMode ConnectMode, IDispatch *AddInInst, SAFEARRAY **custom); STDMETHOD(OnDisconnection)(AddInDesignerObjects::ext_DisconnectMode RemoveMode, SAFEARRAY **custom ); STDMETHOD(OnAddInsUpdate)(SAFEARRAY **custom ); STDMETHOD(OnStartupComplete)(SAFEARRAY **custom ); STDMETHOD(OnBeginShutdown)(SAFEARRAY **custom ); CComPtr m_pApplication; CComPtr m_pAddInInstance; }; OBJECT_ENTRY_AUTO(__uuidof(Connect), CConnect)