COM FAQ

原创 2006年05月24日 09:30:00
Q:什么是com?
A:com是指组件对象模型,是关于如何创建组件和如何通过组件建构应用程序的一个规范。

Q:什么是“客户”?
A: 对于一个应用程序或者组件,如果他使用了其他组件,那么我们称这个应用程序或者组件为“客户”。“客户”通过其他接口与组件连接。对于用户来说,一个组件就是一个接口集。用户只能通过接口才能和组件打交道。

Q:什么是接口?
A:对于com来说,接口是一个包含函数指针数组的内存结构。每一个数组元素包含的是一个由组件所实现的函数的地址。一个com组件可以提供多个接口(称之为“接口集”),而每个接口则包含了一系列函数。每一个接口都有一个唯一的接口标示符(IID)。

Q:定义接口和实现接口分开的动机是什么?
A:是把对象内部的工作细节(相对于客户而言)都隐藏起来,这样在客户代码不需要重新编译的条件下,实现接口类的内部的数据成员数目和顺序都可以改变。

Q:COM接口层次上的“多层继承”和实现层次上的“多层继承”的概况?
A:COM 是禁止多层接口继承的,一个原因是多层继承会使接口在二进制层次上无法保持“编译器无关性”。而在实现层次上,多层继承是存在的。

Q:类型库(type library)的用途?
A:类型库(符号化的idl)是一个二进制文件,他保存了能够识别COM接口的其他语言所映射的接口定义。从而使其他语言能够使用这些组件的接口。

Q:IUnknown接口中QueryInterface, AddRef, Release函数的作用是?
A:QueryInterface用来决定组件是否支持某个特定的接口。AddRef和Release用来控制接口的生命周期。若某个接口的vtbl的前3个函数不是这三个函数,那么这个接口不是一个com接口。

Q:“得知两个接口指针是不是指向同一对象的唯一方法是查询这两个接口的IUknown,然后比较结果?”  这句话不明白  p。49 《COM 技术内幕》
A:这个IUknown应该是指指向组件的指针。在QueryInterface中确保它一定指向组建对象地址的开始处。

Q:什么是CLSID?
A: 除了用GUID 来表示接口以外,还可以用GUID来标示唯一的组件。叫做CLSID。

Q:在com中经常看到某个对象同时使用-〉和.操作符同时使用的情况,why?
A:c++中存在对操作符号的重载,所以可以重载-〉号,但是好像'.'号是不能重载的(有待考察) !

A:什么是代理、残根DLL?
Q:一个代理就是同另一个组件行为相同的组件,代理必须是DLL形式的。因为它必须访问客户进程的地址空间以便对传给接口函数的参数进行调整。残根DLL对返回给客户的参数进行调整以及对客户传递来的参数进行反调整。

A:什么是双重接口、调度接口?
Q:IDispatch::Invoke函数所实现的函数集被称作一个调度接口。双重接口也是一种调度接口,它使得可以通过invoke调用的函数也能够通过vtbl访问。

SAP S/4HANA 扫盲,常见问题FAQ下载

SAP 划时代的产品S/4HANA已经出来将近2年时间,这些日子你肯定被SAP全世界的广告狂轰滥炸过,跟着SAP混饭吃的从业者,你可能似懂非懂地知道这个新系统,但如果不理解这个软件概念,就称不上SAP...
  • wu21211721
  • wu21211721
  • 2016年12月27日 10:48
  • 1192

协议: DTMF相关FAQ

Q. What is DTMF ? A. 双音多频信号(Dual-Tone Multi-Frequency, DTMF),电话系统中电话机与交换机之间的一种用户信令,通常用于发送被叫号码。在使用双音...
  • u012702526
  • u012702526
  • 2014年02月14日 10:40
  • 1255

RocketMQ笔记(1)_Linux下编译部署

微服务架构中,消息队列和远程服务调用已是两大必不可少的组件,而RocketMQ和Dubbo正是阿里系贡献的对应的两大精品开源,作为两个已经得到广泛应用的框架,好好学习研究是必需的。 本文详细介绍了R...
  • coffeelifelau
  • coffeelifelau
  • 2016年10月26日 05:59
  • 3164

scrapy使用【转载自http://www.hulufei.com/tag/scrapy#scrapy-faq】

【转载自http://www.hulufei.com/tag/scrapy#scrapy-faq】 Some Experiences Of Using Scrapy Posted@20...
  • lyzgkd
  • lyzgkd
  • 2012年08月28日 15:30
  • 416

《COM技术内幕》整理的一个FAQ

刚刚读完《COM技术内幕》一书,整理了一个FAQ,供大家在学习此书时参考。 这是第一部分,包含前3章的内容。 FAQ1:什么是COM组件?〖第一章〗 Answer: COM组件...
  • q357010621
  • q357010621
  • 2016年03月24日 23:25
  • 243

Wrodpress安装、使用及FAQ功能定制

  • 2014年10月12日 11:41
  • 1.22MB
  • 下载

OpenSceneGraph FAQ

  • 2017年11月22日 10:53
  • 41KB
  • 下载

android bsp faq

  • 2014年02月16日 03:27
  • 1.44MB
  • 下载

R-FAQ文档 135分钟学会R

  • 2013年11月03日 10:19
  • 370KB
  • 下载

autocad_pdf_install_faq_chs.pdf )

  • 2013年10月21日 12:01
  • 636KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:COM FAQ
举报原因:
原因补充:

(最多只允许输入30个字)