新手请教:进程外com queryinterface的问题

topyang1981 2008-06-18 12:09:15
用VC8写了一个进程外com,里面有2个接口,接口信息分别是CLSID_A,IA, CLSID_B,IB
现在另外一个程序里面调用这个com.
CComQIPtr<IA> m_a;
hr = m_a.CoCreateInstance(CLSID_A);hr返回是S_OK的.没有问题
CComQIPtr<IB> m_b;
hr = m_b.CoCreateInstance(CLSID_B);hr返回的却是E_NOINTERFACE

但是在进程外com内部调用,比如在IA内部调用IB是没有问题的:
CComQIPtr<IB> m_b;
hr = m_b.CoCreateInstance(CLSID_B);此时返回值是S_OK的.
我知道vc6是要用代理存根注册的,但是vc8我编译的时候它已经自注册了啊.
头大啊,有高手能指点一下吗???
...全文
113 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
topyang1981 2008-06-19
  • 打赏
  • 举报
回复
顶一下自己的帖子,有高手遇到过类似的问题吗?请赐教啊!
jameshooo 2008-06-19
  • 打赏
  • 举报
回复
很难知道原因,我都怀疑CoCreateInstance是否真的成功
topyang1981 2008-06-18
  • 打赏
  • 举报
回复
我没有加non_create那个macro哎。。郁闷的
  • 打赏
  • 举报
回复
你是不是把B设置为不能创建的?

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧