创建com本地服务器时出现E_NOINTERFACE错误

时间:2014-06-03 11:57:18

标签: winapi visual-c++ com

我在VS2008中使用ATL向导创建了一个COM本地服务器(exe)示例项目。 但是当我使用cocreateinstance创建COM对象时,我收到一个错误" E_NOINTERFACE"。

据我所知" regsvr32"可用于注册com组件及其各自的接口,但这些接口用于进程中,所以除了在调用cocreateintsance之前启动com server exe之外,我们还需要一些额外的步骤。

非常感谢任何帮助。

此致 阿希什

1 个答案:

答案 0 :(得分:0)

当您拥有本地服务器时,您的客户端将在不同的进程中运行。如果您的服务器具有自定义接口而不是IDispathch,则需要封送接口。接口编组在代理/存根中完成。这是在DLL中实现的,将在客户端进程和服务器进程中加载​​。

创建和/或注册代理/存根DLL。