Winapi 创建com本地服务器时没有接口错误

Winapi 创建com本地服务器时没有接口错误,winapi,visual-c++,com,Winapi,Visual C++,Com,我在VS2008中使用ATL向导创建了一个COM本地服务器(exe)示例项目。 但是当我使用cocreateinstance创建COM对象时,我得到了一个错误“E_NOINTERFACE” 正如我所知,“regsvr32”可用于注册com组件及其各自的接口,但这些是用于进程内com DLL的,因此,除了在调用cocreateintsance之前启动com server exe之外,我们还需要一些额外的步骤 任何帮助都将不胜感激 问候 Ashish当您有本地服务器时,您的客户端将在不同的进程中运行

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

正如我所知,“regsvr32”可用于注册com组件及其各自的接口,但这些是用于进程内com DLL的,因此,除了在调用cocreateintsance之前启动com server exe之外,我们还需要一些额外的步骤

任何帮助都将不胜感激

问候
Ashish

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


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

这或在适用的情况下使用typelib编组。@sharptooth我们是否使用“typelib编组”和“IDispatch”处理相同的问题?非常感谢harper,注册代理存根DLL解决了我的问题。@harper:是的,如果继承自
IDispatch
的接口与自动化兼容,typelib marshaller将乐于对其进行整理。