• 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 > 聚合的一个问题,SOS

聚合的一个问题,SOS

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

佚名通过本文主要向大家介绍了sos一个忧伤者的求救,一个忧伤者的sos,sos一个,哆啦美与迷你哆啦sos,sos等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 聚合的一个问题,SOS
描述:

我最近看Dale Rogerson写的Inside COM一书,在第八章讲aggregation的时候,有一个例子。
该例子包含一个客户端client,二个组件component(class CA in CMPNT1.CPP and class CB in CMPNT2.CPP).
interface IX : IUnknown
{
virtual void __stdcall Fx() = 0 ;
};
interface IY : IUnknown
{
virtual void __stdcall Fy() = 0 ;
};
struct INondelegatingUnknown
{
virtual HRESULT __stdcall
NondelegatingQueryInterface(const IID&, void**) = 0 ;
virtual ULONG __stdcall NondelegatingAddRef() = 0 ;
virtual ULONG __stdcall NondelegatingRelease() = 0 ;
} ;
class CA : public IX
class CB : public IY,
           public INondelegatingUnknown
在创建外部组件和内部组件过程中,CA的成员变量IUnknown* m_pUnknownInner被赋以static_cast<INondelegatingUnknown*>(this) ;this是CB的this指针pointer。
我的问题是:
当在客户端中调用pIX->QueryInterface(IID_IY, (void**)&pIY)
该函数会进一步调用CA::QueryInterface内的m_pUnknownInner->QueryInterface(iid,ppv) ;
该函数为什么会调用CB::NondelegatingQueryInterface函数呢?
这两个函数名称并不一样啊?
编译器在背后做了什么呢?


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

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

  • 求救!!!!!!!!!!!!!!SOS
  • 聚合的一个问题,SOS

相关文章

  • 2017-06-05 运行一个程序,它会产生两个同名进程,这是怎么回事?
  • 2017-06-04 微软专家:RemoteDataService的底层是否依赖于DCOM或RPC?
  • 2017-06-05 ActiveX控件在WIN7+IE8/9环境中无法正常运行
  • 2017-06-04 怎么样在atl的控件的onDraw事件里面画一个icon,主要是我loadicon老是不成功?
  • 2017-06-04 ATL编写COM时,如何给接口的method添加参数?
  • 2017-06-05 如何结束线程
  • 2017-06-05 这又是什么错啊?
  • 2017-06-04 给vc6对话框中的mediaplayer控件自定义字幕
  • 2017-06-04 串口打开问题(急)
  • 2017-06-04 客户端怎样连接com对象和事件对象?

文章分类

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

最近更新的内容

    • ActivexWeb调用
    • 请问如何在一个应用程序中枚举其所有线程并将其关掉
    • 串口通信总是读不到数据呢?
    • “IActiveDesktop”:未声明的标识符
    • Shellextensions
    • 嵌入WEB的ACTIVEX,窗口是如何设置的?
    • installshielde怎么把控件打成一个setupexe
    • 怎样访问DLL中倒出的变量?
    • 用ATL作COM编程,如何让自定义的结构支持自动化技术?
    • 把几个函数做成一个dll的问题

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

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