#include ComObj::ComObj(void) { } ComObj::~ComObj() { } ComObj::ComObj(const ComObj &comObj) { // private implementation *this=comObj; } ComObj &ComObj::operator=(const ComObj &comObj) { // private implementation return *this; } ComResult ComObj::createInstance(REFCLSID rclsId,REFIID riid,SmartPointer &ppInterface,ClassContext classContext,SmartPointer &pUnkOuter) { IUnknown *pIUnknown=0; ComResult comResult; comResult=::CoCreateInstance(rclsId,pUnkOuter,classContext,riid,(LPVOID*)&pIUnknown); ppInterface=pIUnknown; return comResult; } ComResult ComObj::createInstance(REFCLSID rclsId,REFIID riid,SmartPointer &ppInterface,ClassContext classContext) { IUnknown *pIUnknown=0; ComResult comResult; comResult=::CoCreateInstance(rclsId,NULL,classContext,riid,(LPVOID*)&pIUnknown); ppInterface=pIUnknown; return comResult; } ComResult ComObj::createInstance(REFCLSID rclsid,IUnknown *pUnkOuter,ClassContext classContext,ServerInfo &serverInfo,MultiQuery &multiQuery) { ComResult comResult; if(!multiQuery.size()||!serverInfo.isOkay())return false; comResult=::CoCreateInstanceEx(rclsid,pUnkOuter,classContext,&serverInfo.getCOSERVERINFO(),multiQuery.size(),&multiQuery[0]); return comResult; }