browser icon
You are using an insecure version of your web browser. Please update your browser!
Using an outdated browser makes your computer unsafe. For a safer, faster, more enjoyable user experience, please update your browser today or try a newer browser.

COM学习笔记(1)

Posted by on 2004 年 03 月 31 日

你可以任意转载本文,但请在转载后的文章中注明作者和原始链接。
媒体约稿请联系 titilima_AT_163.com(把“_AT_”换成“@”)。

COM(Component Object Model,组件对象模型)是构造二进制兼容软件组件的规范,它不是编程语言、代码库或编译器,而是一个二进制规范,可以建立能够相互通信的组件,而不管这些组件用什么编程语言完成。

COM接口使应用程序和其它组件可以和COM组件的功能进行通信。

COM接口的vtable的唯一要求是表里的第一个字段为IUnknown的指针。它是任何组件变为COM组件必须实现的唯一接口,是所有接口的大门,因为所有其它接口都是从IUnknown继承而来的。

注意:
1、接口不是类,不能够被实例化;
2、接口不是对象,所有的调用是通过指针完成的;
3、接口有唯一性;
4、接口是不可变的。

所有的COM接口都有三个同样的方法:
QueryInterface:用于寻找对象提供的所有接口。
AddRef:使用接口。
Release:完成接口的使用后,用此方法释放。

接口的所有方法返回类型为HRESULT,除了IUnknown的AddRef和Release之外。

接口的方法如果有字符串参数,那么必须是Unicode字符串

订阅本站

没有评论

(Required)
(Required, will not be published)