CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  ATL/ActiveX/COM

大家看看这个技术问题怎么解决?

楼主baiyujia(byj)2005-04-04 18:18:59 在 VC/MFC / ATL/ActiveX/COM 提问

是一个调用进程外COM组件的程序,大家看看为什么会这样.  
            CoInitialize(NULL);  
            Sigwave::_DFormPtr   pt1;  
            HRESULT   hr;  
            CLSID   clsid;  
            CLSIDFromProgID(OLESTR("Sigwave.Document"),&clsid);//此处,clsid值是正确的。  
            hr=CoCreateInstance(clsid,  
                                                    NULL,  
                                                    CLSCTX_LOCAL_SERVER,  
                                                    __uuidof(Sigwave::_DForm),  
                                                    (void**)&pt1);                          
  执行完CoCreateInstance后,组件所在程序就打开了,但在后台,可是此时返回值不是0,而是“不支持此接口”,问题就是这样,大家帮忙分析一下。  
   
   
  问题点数:0、回复次数:6Top

1 楼firmbird(firmbird)回复于 2005-04-04 23:04:36 得分 0

用IID_IUnknown代替__uuidof(Sigwave::_DForm)能不能调用成功Top

2 楼sinall()回复于 2005-04-05 14:04:57 得分 0

对,先试试IUnknown能否能否成功。  
            CoInitialize(NULL);  
            IUnknown   pt1;  
            HRESULT   hr;  
            CLSID   clsid;  
            CLSIDFromProgID(OLESTR("Sigwave.Document"),&clsid);//此处,clsid值是正确的。  
            hr=CoCreateInstance(clsid,  
                                                    NULL,  
                                                    CLSCTX_ALL,  
                                                    IID_IUnknown,  
                                                    (void**)&pt1);                          
  Top

3 楼baiyujia(byj)回复于 2005-04-05 14:19:30 得分 0

能成功,可是指针ptl的具体意义是什么呢?Top

4 楼sjcode(愚者)回复于 2005-04-05 14:23:31 得分 0

然后你在QueryInterface成你的Sigware接口指针。  
  Top

5 楼baiyujia(byj)回复于 2005-04-05 15:40:45 得分 0

如果向下面这样自己查询自己就会出现错误:  
  Unhandled   exception   in   sigWave.exe(KERNEL32.DLL):0xE06D7363:Microsoft   C++   Exception.  
  pt1->QueryInterface(__uuidof(Cadence::_DFORM),(void**)&pt1);  
  如果利用该接口去查询其他的接口,不出现错误,但是返回HRESULT值的意义是“不支持该接口”。  
   
  Top

6 楼firmbird(firmbird)回复于 2005-04-05 16:09:24 得分 0

(__uuidof(Cadence::_DFORM)有问题,直接定义一个IID_DFORM试试吧Top

相关问题

  • 这个技术怎么实现?
  • 文思创新软件技术有限公司这个公司怎么样?
  • 英语和技术双优的帮我看看, 这个问题楼主是怎么解决的?谢谢
  • 我怎么了......(非技术问题)
  • 技术贴————怎么去疼女生?
  • 这个问题不涉及到技术,主要是想请大家给评评理、支支招,告诉我该怎么办?
  • 这个问题 不涉及到技术,主要是想请大家给评评理、支支招,告诉我该怎么办?
  • <java技术手册>与<java实例技术手册>这两本书怎么样?
  • 用XML SOAP技术怎么实现网络通讯?有技术方案么?
  • 这个怎么做?

关键词

  • 接口
  • hr
  • null
  • sigwave
  • dform
  • clsid
  • uuidof
  • pt1
  • 值
  • iunknown

得分解答快速导航

  • 帖主:baiyujia

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo