COM 组件接口的 IUnKnown 接口介绍...
分类:
其他好文 时间:
2015-08-07 09:38:00
阅读次数:
152
COM——到底是什么?——COM标准的要点介绍,它被设计用来解决什么问题?基本元素的定义——COM术语以及这些术语的含义。使用和处理COM对象——如何创建、使用和销毁COM对象。基本接口——描述IUnknown基本接口及其方法。 掌握串的处理——在COM代码中如何处理串。应用COM技术——例子代码,举例说明本文所讨论的所有概念。 处理HRESULT——HRESULT类型描述,如何监测错误及成功代码...
分类:
其他好文 时间:
2015-04-25 18:26:58
阅读次数:
135
操作系统:旗舰版win7DirectShow SDK: 9.0IDE环境:VS2008以下代码参考MSDN: 1 HRESULT AddToRot(IUnknown *pUnkGraph, DWORD *pdwRegister) 2 { 3 IMoniker * pMoniker = NU...
QAxObject对COM对象进行了封装,QAxObject派生自QAxBase,而后者提供了一组API通过IUnknown(不清楚IUnknown的同学可以去看看COM对象模型)指针直接访问COM对象,我们这里讲的excel也是一个COM对象,因此我们可以通过QAxObject来操作它,为了便于....
分类:
其他好文 时间:
2015-03-31 12:24:39
阅读次数:
142
COM组件有三个最基本的接口类,分别是IUnknown、IClassFactory、IDispatch。 COM规范规定任何组件、任何接口都必须从IUnknown继承,IUnknown包含三个函数,分别是 QueryInterface、AddRef、Release。这三个函数是无比重要的,而且它们的...
分类:
其他好文 时间:
2014-11-25 10:34:15
阅读次数:
290
在网上搜Com聚合的例子,发现都比较少,大多偏于原理性的介绍。由于模拟MFC 和真正使用MFC时,在查询IUnknown接口时,流程上有所不同,所以模拟MFC的方式与直接从CCmdTarget派生时,在流程上有较大的差别。即使懂了Com聚合的原理,也可能无法直接使用MFC实现Com 聚合,本人经过一番摸索,终于实现了直接使用MFC实现COM聚合。...
分类:
其他好文 时间:
2014-10-10 13:44:04
阅读次数:
222
IDispatch接口是COM自动化的核心。其实,IDispatch这个接口本身也很简单,只有4个方法:
IDispatch : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(
/* [out] */ __RPC__out...
分类:
其他好文 时间:
2014-09-23 14:05:54
阅读次数:
209
com定义的每一个接口都必须从IUnknown继承过来,主要原因是IUnknown接口提供了两个非常重要的特性:生存期控制和接口查询。客户程序只能通过接口与com对象进行通信,虽然客户程序可以不管对象内部的实现细节,但它要控制对象的存在与否。如果客户还要继续对对象进行操作,则它必须保证对象能一直存在于内存中;如果客户对对象的操作已经完成,以后也不再需要该对象了,则它必须及时地把对象释放掉,以提高资...
分类:
其他好文 时间:
2014-07-18 11:20:15
阅读次数:
200
实现引用计数并不难,但在什么层次上进行引用计数呢?
按照com规范,一个com组件可以实现多个com对象,并且每个com对象又可以支持多个com接口,这种层次结构为我们实现引用计数提供了多种选择方案。我们可以选择在com组件一级实现引用计数,也可以选择在com对象一级实现引用计数,甚至可以为对象的每个接口设置一个引用计数。三张选择方案都有各自的优缺点。
1)设置一个针对整个组件...
分类:
其他好文 时间:
2014-07-18 11:17:20
阅读次数:
123
ATL: Active Template Library(活动模板库) 一种开发框架,通过它可以快速建立基于COM的组件基本特征: 1.对低级别COM功能的内置式支持:IUnknown, 类工厂, self-registration 2.支持IDL(interface definition l...
分类:
其他好文 时间:
2014-06-19 09:09:26
阅读次数:
265