完全剖析COM技术详解
![](https://csdnimg.cn/release/wenkucmsfe/public/img/star.98a08eaa.png)
"Inside COM 中文版 - 完全剖析COM - Dale Rogerson - 黃昕暐 譯" 本书《完全剖析COM》是Dale Rogerson的作品,由黄昕暐翻译成中文,旨在深入解析COM(Component Object Model)技术。这本书详细介绍了COM的核心概念和实现机制,为读者提供了理解组件编程的基础。 1. **组件(Component)** - 组件是软件开发中的可重用单元,具有独立的功能,可与其他组件协同工作。 - 使用组件的先决条件包括了解如何创建、实例化和交互操作这些组件。 - COM是一种标准,它定义了组件之间的交互方式,使得不同语言和平台上的组件可以无缝协作。 2. **介面(Interface)** - 介面在COM中扮演着关键角色,它们定义了一组相关的函数或方法,是组件间通信的规范。 - 实现COM接口涉及定义接口的方法并确保它们符合接口的约定。 - 通过理解接口背后的理论,开发者可以更好地构建模块化的代码结构。 3. **QueryInterface** - QueryInterface是COM组件中获取其他接口的关键方法,它允许对象提供其支持的接口。 - QueryInterface遵循一定的原则和定律,确保对象能够正确地暴露其功能。 - 此方法对于组件版本管理和一致性契约至关重要。 4. **参用计数(ReferenceCounting)** - 参用计数是COM管理组件生命周期的主要手段,当引用计数降为零时,组件会被自动释放。 - 通过参用计数,可以有效地控制内存使用,避免内存泄漏。 5. **动态链接** - 动态链接允许在运行时加载和使用组件,增强了程序的灵活性和可扩展性。 - 动态链接组件可以通过DLL(动态链接库)来实现,使得代码可以被多个程序共享。 6. **HRESULT、GUID、注册表和其他细节** - HRESULT是COM中用于返回操作结果的值,包含了成功/失败信息和错误信息。 - GUID(全局唯一标识符)用于区分COM组件,确保它们的唯一性。 - 注册表是Windows系统中存储组件信息的地方,COM组件的实例化和发现通常依赖于注册表。 - COM库函数提供了一系列操作,如创建对象、查询接口等。 7. **类工厂(ClassFactory)** - 类工厂负责创建COM组件的实例,它是组件实例化的核心。 - CoCreateInstance函数是通过类工厂创建组件的常用方法。 - 实现类工厂需要考虑多线程环境下的安全性和DLL的卸载机制。 8. **组件的重用:包含与聚合** - 包含和聚合是COM中实现组件复用的两种方式,它们允许一个组件包含或嵌入另一个组件。 - 聚合关系允许一个组件拥有另一个组件的实例,而保留各自的接口独立性。 - 书中通过实际示例展示了这两种技术在真实项目中的应用。 这本书深入浅出地介绍了COM的各个方面,对学习和理解COM编程的开发者来说是一份宝贵的资源。通过阅读,读者可以掌握创建、管理和使用COM组件的关键技术和实践。
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 0
- 资源: 8
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- AirKiss技术详解:无线传递信息与智能家居连接
- Hibernate主键生成策略详解
- 操作系统实验:位示图法管理磁盘空闲空间
- JSON详解:数据交换的主流格式
- Win7安装Ubuntu双系统详细指南
- FPGA内部结构与工作原理探索
- 信用评分模型解析:WOE、IV与ROC
- 使用LVS+Keepalived构建高可用负载均衡集群
- 微信小程序驱动餐饮与服装业创新转型:便捷管理与低成本优势
- 机器学习入门指南:从基础到进阶
- 解决Win7 IIS配置错误500.22与0x80070032
- SQL-DFS:优化HDFS小文件存储的解决方案
- Hadoop、Hbase、Spark环境部署与主机配置详解
- Kisso:加密会话Cookie实现的单点登录SSO
- OpenCV读取与拼接多幅图像教程
- QT实战:轻松生成与解析JSON数据
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)