随笔分类 -  COM

摘要:本文的前一部分阐述了为什么和怎样使用COM套间。读过之后,你会知道,调用CoInitialize或者CoInitializeEx的时候,线程被放入到套间中。你还会知道,对象创建的时候也被放入到套间中... 阅读全文
posted @ 2011-03-03 08:27 Quincy 阅读(1214) 评论(0) 推荐(0)
摘要:编写拙作《关于COM组件线程模型的实验》的过程中,发现自己无法合理解释特定情况下程序的运行情况。为更深入理解COM的线程模型,合理解释程序运行情况,找了一些资料看。发现一篇英文文章不错,特地翻译出来。... 阅读全文
posted @ 2011-03-03 07:58 Quincy 阅读(2699) 评论(1) 推荐(1)
摘要:1、COM对象的创建方法 客户程序可以通过CoCreateInstance函数创建COM,在创建之前必须知道对象的一些基本情况,比如对象的CLSID或者对象的ProgID。 另一种对象创建方法是通过名字对象(moniker)创建,就是利用对象命名和绑定技术(即名字技术)。2、名字技术的地位 名字技术算不上COM的基本核心,但也是COM体系结构中重要的组成部分,它为客户程序和组件程序提供了另一条更为灵活的联系纽带。OLE的成功使名字技术得到了广泛的应用,而且在OLE和COM的不断发展过程中,名字技术发挥了其强大的扩展特性,异步名字对象的实现使它超越了OLE的应用范围,能更好地适用于网络环境,特别 阅读全文
posted @ 2011-01-24 08:07 Quincy 阅读(388) 评论(0) 推荐(0)
摘要:安全性使用网络来将应用系统分布化是一个挑战,这不仅是因为带宽的物理限制以及一些潜在的问题,而且也由于它产生一些诸如关系到客户间、组件间以及客户和组件之间的安全问题。因为现在的许多操作可以被网络中的任何一个人访问,所以对这些操作的访问应该被限制在一个高级别上。 如果分布式开发平台没有提供安全支持,那么每一个分布式应用就必需完成自己的安全机制。一种典型的方法是用某种登录的方法要求用户通过用户名及密码的... 阅读全文
posted @ 2010-12-04 08:22 Quincy 阅读(362) 评论(0) 推荐(0)
摘要:带宽及潜在问题 分布式应用利用了网络的优点将组件结合到一起。理论上来说,DCOM将组件在不同的机器上运行这一事实隐藏起来。实际上,应用必须考虑到网络连接带来的两个主要限制: 带宽:传递给方法调用的参... 阅读全文
posted @ 2010-12-03 20:19 Quincy 阅读(312) 评论(0) 推荐(0)
摘要:功能的发展:版本化除了随着用户的数量以及事务的数量而扩展规模外,当新的特性加入时应用系统也需要扩展规模。随着时间的推移,新的任务被添加进来,原有的任务被更新。传统的做法是或者客户进程和组件都需要同时被更新,或者旧的组件必须被保留直到所有的客户进程被更新,当大量的地理上分布的站点和用户在使用系统时,这就成为一个非常费力的管理问题。 DCOM为组件和客户进程提供了灵活的扩展机制。使用COM和DCOM,客户进程能够动态地查询组件的机能。一个COM组件不是将其机能表现为一个简单、统一的方法和属性组,而是对于不同的客户进程表现为不同的形式。使用特定特性的客户进程只需要访问它所需要使用的方法和属性。客户进 阅读全文
posted @ 2010-12-03 00:30 Quincy 阅读(338) 评论(0) 推荐(0)
摘要:原文链接DCOM概述Microsoft的分布式COM(DCOM)扩展了组件对象模型技术(COM),使其能够支持在局域网、广域网甚至Internet上不同计算机的对象之间的通讯。使用DCOM,你的应用程序就可以在位置上达到分布性,从而满足你的客户和应用的需求。 因为DCOM是世界上领先的组件技术COM的无缝扩展,所以你可以将你现在对基于COM的应用、组件、工具以及知识转移到标准化的分布式计算领域中来... 阅读全文
posted @ 2010-12-02 23:53 Quincy 阅读(576) 评论(0) 推荐(0)
摘要:所谓“外部机制”,指的是应用程序创建ATL COM对象类厂的过程。应用程序并不关心COM对象是MFC实现方式的还是ATL实现方式的,它永远使用CoCreateInstance这类API函数,通过类厂创建COM对象。在ATL下,应用程序对CoCreateInstance的调用,是如何转换到对ATL COM对象类厂CreateInstance方法的调用的呢?COM服务器COM对... 阅读全文
posted @ 2010-03-25 21:44 Quincy 阅读(641) 评论(0) 推荐(0)