在类的实现代码中加入如下宏 DECLARE_CLASSFACTORY_SINGLETON( CXXXXXXXXXXX ) 对象的创建过程要使用类厂的方式创建 如下代码,是在com实现dll中的实现方式 extern HRESULT STDAPICALLTYPE DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv); CComPtr<IClassFactory> t_spFactory; HRESULT t_hRet = DllGetClassObject(CLSID_xxxxx, IID_IClassFactory, (void**)&t_spFactory);ATLASSERT(SUCCEEDED(t_hRet) ); t_spFactory->CreateInstance(NULL, IID_Ixxxxxxx, (void**)&m_pUserOpt);ATLASSERT(SUCCEEDED(t_hRet) );