• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 是不是可聚合COM对象的类厂CreateInstance只能返回IUnknown接口?

是不是可聚合COM对象的类厂CreateInstance只能返回IUnknown接口?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了createinstance,createinstance失败,c createinstance,array.createinstance,clrcreateinstance等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 是不是可聚合COM对象的类厂CreateInstance只能返回IUnknown接口?
描述:

为什么呢?
我在看<<COM技术内幕>>聚合章节的时候,有些地方不是很明白。比如CB实现了INondelegatingUnknown和IY,其中IY继承IUnknown,CA是CB的外部组件,我的理解是CB里面有一个m_pUnknownOuter指针,当CB通过构造函数构造的时候,如果带入的pUnknownOuter不为空(说明有组件要聚合)那么让m_pUnknownOuter=pUnknownOuter,这样对CB进行查询的时候,全部转发给了CA。当pUnknownOuter=NULL的时候,说明没有组件要聚合它,所以令m_pUnknownOuter指向INondelegatingUnknown接口,这样CB就可以当一般的组件一样使用,不知道我的理解对不对?
如果是这样,那么为什么在CB的类厂里面CreateInstance的时候,只允许返回IUnknown(实际为INondelegatingUnknown)的接口呢?那如果我要通过CB的类厂得到其它接口怎么办?先得到IUnknown,然后再Query?何必多此一举呢?


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • CoCreateInstance和CoCreateInstanceEx的区别??
  • 抓狂!看了几天了,CoCreateInstance总是出错!!!!救命啊!
  • 请教CoCreateInstanceEx产生E_ACCESSDENIED的原因
  • CoCreateInstance的内部实现问题??
  • 在DEV-CPP中编译建立快捷方式代码出现incompatibletypeforargument1of`CoCreateInstance'
  • 用dll的COM除了cocreateinstance能不能就当普通DLL用loadlibrary调用。
  • CoCreateInstanceEx问题
  • 请大哥大姐指教CreateInstance的问题
  • CoCreateInstance调用成功,CoGetClassObject调用失败,为什么?
  • CoCreateInstance调用出错,帮看看!

相关文章

  • 2017-06-04 编译没问题,但不能运行,提示下面界面,不知道该怎么解决
  • 2017-06-05 Dll使用ActiveX的问题!?
  • 2017-06-04 MFC和ATLCOMControl不能共存???。。。。。。
  • 2017-06-04 一个ocx控件如何接收参数
  • 2017-06-04 一个ActiveX插件实现截屏功能,嵌入到网页的时调用其方法运行时有时出现花屏的问题,请高手不吝指教!
  • 2017-06-05 dll文件减肥的疑问
  • 2017-06-04 一定给分:谁有潘爱民的<<COM原理与应用>>一书的所附的源程序,可否发一份给我?
  • 2017-06-04 高分紧急求助!!高手们都进来看看啊在VC中如何将复合文档中的Word对象导出来成为一个单独的Word文档啊???
  • 2017-06-05 使用GSetThreadContext切换线程上下文带来的问题
  • 2017-06-05 关于实时监控的进程问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 请看一下我的DLL的错误??--高分---高分
    • 窗口中的activex控件显示不出??
    • MFC的exe调用托管dll问题,求教
    • 关于用vc2005操作excel(在Excel中绘柱形图)的问题
    • MFCActiveX控件多次调用问题
    • 问一个简单的dll编程问题
    • COM组件分为几种线程模型似乎没有什么意义啊,对于调用端有什么不同么?
    • 请问如何在用MFC做的控件中检测Enter、TAB键,左右键啊?为何做好后,不能用啊?
    • 如何实现类似于MediaPlayer那样的窗口???
    • CComCoClass,CComObject中的CreateInstance,还真看不出是作什么用的?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有