首页 文章

从CoGetClassObject返回的类未注册错误

提问于
浏览
0

我使用vs2008 ATL向导创建了一个COM dll . 我创建了一个新的界面并实现了两种方法 . 我希望从另一个应用程序访问此COM组件的向导处理默认功能 .

当我使用CoCreateInstance()或CoGetClasObject()时,我得到类未注册错误(0x80040154) . 我是否错过了在COM dll中实现的内容?我使用regsvr32注册了dll,并在注册表中创建了CLSID,IID,Typelib的相应条目 .

Client Code:

::CoInitializeEx(NULL, COINIT_MULTITHREADED);

ISampleCOM* pSampleCOM;

HRESULT hr = ::CoGetClassObject(CLSID_CSampleCOM,CLSCTX_LOCAL_SERVER,NULL,
                    IID_ISampleCOM, (void**)&pSampleCOM);

hr正在返回(0x80040154)类未注册错误

任何帮助对我都有很大帮助

1 回答

  • 0

    这取决于您从哪里访问com对象,例如,32位应用程序将访问其程序集使用x86配置构建的对象,64位应用程序将访问其程序集使用x64配置构建的对象 .

相关问题