// CompData.h : Declaration of the CCompData #ifndef __COMPDATA_H_ #define __COMPDATA_H_ #include "resource.h" // main symbols #include #include "DeleBase.h" #include "StatNode.h" #include "Comp.h" #include "EvtVwr.h" ///////////////////////////////////////////////////////////////////////////// // CCompData class ATL_NO_VTABLE CCompData : public CComObjectRootEx, public CComCoClass, public IComponentData, public IExtendPropertySheet2, //for configuration wizard public IExtendContextMenu, public IPersistStream { friend class CComponent; private: ULONG m_cref; LPCONSOLE m_ipConsole; LPCONSOLENAMESPACE2 m_ipConsoleNameSpace2; CStaticNode *m_pStaticNode; public: CCompData(); ~CCompData(); DECLARE_REGISTRY_RESOURCEID(IDR_COMPDATA) DECLARE_NOT_AGGREGATABLE(CCompData) DECLARE_PROTECT_FINAL_CONSTRUCT() BEGIN_COM_MAP(CCompData) COM_INTERFACE_ENTRY(IComponentData) COM_INTERFACE_ENTRY(IExtendPropertySheet2) COM_INTERFACE_ENTRY(IExtendContextMenu) COM_INTERFACE_ENTRY(IPersistStream) END_COM_MAP() public: /////////////////////////////// // Interface IComponentData /////////////////////////////// virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( /* [in] */ LPUNKNOWN pUnknown); virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateComponent( /* [out] */ LPCOMPONENT __RPC_FAR *ppComponent); virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Notify( /* [in] */ LPDATAOBJECT lpDataObject, /* [in] */ MMC_NOTIFY_TYPE event, /* [in] */ LPARAM arg, /* [in] */ LPARAM param); virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Destroy( void); virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryDataObject( /* [in] */ MMC_COOKIE cookie, /* [in] */ DATA_OBJECT_TYPES type, /* [out] */ LPDATAOBJECT __RPC_FAR *ppDataObject); virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDisplayInfo( /* [out][in] */ SCOPEDATAITEM __RPC_FAR *pScopeDataItem); virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CompareObjects( /* [in] */ LPDATAOBJECT lpDataObjectA, /* [in] */ LPDATAOBJECT lpDataObjectB); ////////////////////////////////// // Interface IExtendPropertySheet2 ////////////////////////////////// virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePropertyPages( /* [in] */ LPPROPERTYSHEETCALLBACK lpProvider, /* [in] */ LONG_PTR handle, /* [in] */ LPDATAOBJECT lpIDataObject); virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryPagesFor( /* [in] */ LPDATAOBJECT lpDataObject); virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetWatermarks( /* [in] */ LPDATAOBJECT lpIDataObject, /* [out] */ HBITMAP __RPC_FAR *lphWatermark, /* [out] */ HBITMAP __RPC_FAR *lphHeader, /* [out] */ HPALETTE __RPC_FAR *lphPalette, /* [out] */ BOOL __RPC_FAR *bStretch); /////////////////////////////// // Interface IExtendContextMenu /////////////////////////////// virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddMenuItems( /* [in] */ LPDATAOBJECT piDataObject, /* [in] */ LPCONTEXTMENUCALLBACK piCallback, /* [out][in] */ long __RPC_FAR *pInsertionAllowed); virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Command( /* [in] */ long lCommandID, /* [in] */ LPDATAOBJECT piDataObject); /////////////////////////////// // Interface IPersistStream /////////////////////////////// virtual HRESULT STDMETHODCALLTYPE GetClassID( /* [out] */ CLSID __RPC_FAR *pClassID); virtual HRESULT STDMETHODCALLTYPE IsDirty( void); virtual HRESULT STDMETHODCALLTYPE Load( /* [unique][in] */ IStream __RPC_FAR *pStm); virtual HRESULT STDMETHODCALLTYPE Save( /* [unique][in] */ IStream __RPC_FAR *pStm, /* [in] */ BOOL fClearDirty); virtual HRESULT STDMETHODCALLTYPE GetSizeMax( /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbSize); private: HRESULT OnPreLoad(LPDATAOBJECT lpDataObject, LPARAM arg, LPARAM param); static HBITMAP m_pBMapSm; static HBITMAP m_pBMapLg; }; #endif //__COMPDATA_H_