从TLB导入的接口上的进程外COM服务器的QueryInterface

我在A.idl文件中定义我的接口,我编译为A.tlb 在VS2005 ATL项目“B”中,我在B.idl中使用importlib(A.tlb),在stdafx.h中使用#import“A.tlb”,并在ATL COM类中实现A.tlb的接口IA。该项目输出B.dll和B.tlb 我将B.tlb添加到C#应用程序的引用中,并在代码中实例化COM对象。 如果我使用其中任何一个,实例化工作没有问题
Type.GetTypeFromCLSID(); Activator.CreateInstance(...);
要么
[DllImport("ole32.dll", ...)] CoCreateInstance(...)
两者都工作正常,对象实例化,我可以将它转换为A.tlb中定义的IA接口(实际上是从tlb生成的RCW)并调用其方法。仍然没有问题。 然后我使用OLEView启用COM对象激活使用默认的DllHost.exe代理。 代理中COM对象的实例化(CoCreateInstance中的参数CLSCTX_LOCAL_SERVER)仍然没有问题,但是当我尝试将对象强制转换为A.tlb中定义的IA接口时,我得到E_NOINTERFACE并且消息说QueryInterface失败,因为“没有这样的界面支持“。 请帮忙。可能有什么不对?如果您需要任何其他信息,我会尽量提供。     
已邀请:
您需要构建并注册代理/存根DLL。需要跨进程边界封送接口。我找不到一个很好的MSDN页面,但这里提到了。     

要回复问题请先登录注册