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) 类未注册错误

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

4

1 回答 1

0

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

于 2013-06-14T14:11:30.037 回答