//创建新的大漠对象Idmsoft*InitNewDm(){Idmsoft*m_dm=NULL;//COleVarianttemp1,temp2;boolm_bInit=false;//下面直接加载dll创建对象,避免进行注册文件typedefHRESULT(__stdcall*pfnGCO)(REFCLSID,REFIID,void**);pfnGCOfnGCO=NULL;HINSTANCEhdllInst=LoadLibrary("dm.dll");fnGCO=(pfnGCO)GetProcAddress(hdllInst,"DllGetClassObject");if(fnGCO!=0){IClassFactory*pcf=NULL;HRESULThr=(fnGCO)(__uuidof(dmsoft),IID_IClassFactory,(void**)&pcf;);if(SUCCEEDED(hr)&&(pcf!=NULL)){hr=pcf->CreateInstance(NULL,__uuidof(Idmsoft),(void**)&m_dm);if((SUCCEEDED(hr)&&(m_dm!=NULL))==FALSE)returnfalse;}pcf->Release();m_bInit=true;}elsem_bInit=false;returnm_dm;};
1