com组件、对象、接口

本文介绍了COM(组件对象模型)的特性,如语言无关性和可重用性,并讲解了其在DirectX、OLE DB、ADO等中的应用。COM组件由多个对象组成,每个对象实现多个接口,接口必须从IUnknown继承。重点阐述了IUnknown接口的QueryInterface、AddRef和Release函数及其作用。此外,还讨论了DLL动态库与COM的关系,类厂的概念以及如何使用类厂创建COM对象,最后提到了COM开发的相关工具和技术。
摘要由CSDN通过智能技术生成

1、com(component object model)组件对象模型。
特点:语言无关、可以重用
应用:DirectX、OLE DB、ADO
OLE是com的应用。
2、这里写图片描述
一个com组件包括多个com对象,一个com对象实现多个接口。
3、com对象类似于c++中的类,包含属性和方法。在c++中,可以用类来定义com对象。
com组件对客户来说是透明的。
GUID用于标识com组件。
com接口:二进制特性,每个接口必须从IUnknown继承而来。
4、 IUnknown的定义:
interface IUnknown
{
HRESULT QueryInterface(
[in] REFIID iid,
[out] void **ppv);
ULONG AddRef();
ULONG Release();
}
输入参数iid为接口标识符:IID。
输出参数ppv为查询得到的结果接口指针。
IUnknown包含三个函数,分别是 QueryInterface、AddRef、Release。这三个函数是无比重要的,而且它们的排列顺序也是不可改变的。
QueryInetrface:查询com对象的其他接口指针
AddRef和Release用于对引用计数进行操作。
引用计数:每个com对象都记录 一个“引用计数“的数值,该数值记录了有多少个指针在使用com对象。用户得

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值