gpt4 book ai didi

c++ - 仅使用 IDL 文件注册 COM 对象

转载 作者:太空狗 更新时间:2023-10-29 21:06:48 25 4
gpt4 key购买 nike

我有第三方IDL文件,编译时生成一个头文件和一个 _i.c 文件。所有这三个文件都是 Visual Studio 2010 项目的一部分。 (到目前为止,除了尝试进行 COM 初始化之外,该项目是空的。)

我可以通过调用让项目编译

CoInitialize(NULL);
CoCreateInstance(stuff);

在运行时,CoCreateInstance() 返回“类未注册”错误。

我在 Internet 上可以找到的所有内容都说通过在 DLL 文件或 EXE 文件上运行 regsvr32 来注册 COM 对象。但是我只有一个 IDL 文件。我尝试注册项目生成的 EXE 文件,但出现错误,提示模块“已加载但未找到入口点 DLLRegisterServer”。

老实说,我不确定还能尝试什么。

最佳答案

IDL 文件定义接口(interface),而不是实现。如果您拥有的这个第三方组件实际上只是一个 IDL 文件,那么您没有任何可以注册的东西。

IDL 文件可能描述了您要实现第三方代码调用的接口(interface);在那种情况下你不会 CoCreateInstance 他们,他们可能 CoCreateInstance 你。但考虑到信息量,我倾向于认为您遗漏了实际的第三方组件,或者您将错误的内容传递给了 CoCreateInstance。

关于c++ - 仅使用 IDL 文件注册 COM 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6783646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com