#ifndef _COM_COM_HPP_ #define _COM_COM_HPP_ #define COMMON_ENABLE_COM #ifndef _COMMON_WINDOWS_HPP_ #include #endif #ifndef _COMMON_SMARTPOINTER_HPP_ #include #endif #ifndef _COM_OBJBASE_HPP_ #include #endif #ifndef _COM_OLE2_HPP_ #include #endif #ifndef _COM_SERVERINFO_HPP_ #include #endif #ifndef _COM_RESULT_HPP_ #include #endif #ifndef _COM_CLASSCONTEXT_HPP_ #include #endif #ifndef _COM_MULTIQUERY_HPP_ #include #endif #ifndef _COM_COMINIT_HPP_ #include #endif class ComObj { public: ComObj(void); virtual ~ComObj(); ComResult createInstance(REFCLSID rclsId,REFIID riid,SmartPointer &ppInterface,ClassContext classContext,SmartPointer &pUnkOuter); ComResult createInstance(REFCLSID rclsId,REFIID riid,SmartPointer &ppInterface,ClassContext classContext=InprocServer); ComResult createInstance(REFCLSID rclsid,IUnknown *pUnkOuter,ClassContext classContext,ServerInfo &serverInfo,MultiQuery &multiQuery); private: ComObj(const ComObj &comObj); ComObj &operator=(const ComObj &comObj); ComInitializer mComInitializer; }; #endif