COM:平台无关 语言无关 利用“积木”“搭”系统
组件:(接口集)
1.优点:方便应用程序定制 组件库 分布式组件
2.组件需求:动态链接 信息封转(以二进制形式发布)
接口:(由纯虚类实现)
1.作用:只能通过接口通COM组件打交道
2.接口实现: 一个完整的例子
3.接口理论:接口不变性 多态
4.接口背后:虚拟函数表 vtbl指针及实例数据 多重实例 不同的类,相同的vtbl
QueryInterface:
1.IUnknown IUnknown指针的获取
2.QueryInterface QueryInterface使用 QueryInterface实现 一个完整的例子
3.QueryInterface实现:组件实例只有一个IUnknown接口 可以获取曾经得到过的接口 再次获取已经拥有的接口 可以从任意接口返回到起始接口 若能从某接口获取特定接口,则能从任意接口获得该特定接口
引用计数:
1.引用计数规则:函数返回前调用AddRef(例QueryInterface CreateInstance就在内部调用了,无需再调用AddRef) 接口使用完后调用Release 复制后调用(这个不是绝对)
2.引用计数接口:整个组件一个引用计数 每个接口一个引用计数(方便调试 资源可以按需获取)
3.AddRef Release实现 一个完整的例子