CoCreateInstance失败,返回0x80131500

本文关键字:0x80131500 返回 失败 CoCreateInstance | 更新日期: 2023-09-27 18:20:38

我们正试图从非托管C代码访问.NET COM库。

HRESULT hr = CoCreateInstance(__uuidof(XYZClient::XClient), NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pCl));

hr的结果是0x80131500,这意味着异常是由COM库引发的。但在调试时,它甚至不会进入.NET类的构造函数。

当从.NET通过COM.调用时,此操作效果良好

有什么想法至少可以得到异常消息吗?

编辑:它在Windows XP上运行良好,但在Win7 x64上失败。

CoCreateInstance失败,返回0x80131500

问题是由库中的差异引起的。某些库只能作为32位程序集使用,这导致了此问题。由于这种原因,我们的COM库加载甚至在输入构造函数代码之前就失败了。