1、COM对象的创建方法
客户程序可以通过CoCreateInstance函数创建COM,在创建之前必须知道对象的一些基本情况,比如对象的CLSID或者对象的ProgID。
另一种对象创建方法是通过名字对象(moniker)创建,就是利用对象命名和绑定技术(即名字技术)。
2、名字技术的地位
名字技术算不上COM的基本核心,但也是COM体系结构中重要的组成部分,它为客户程序和组件程序提供了另一条更为灵活的联系纽带。OLE的成功使名字技术得到了广泛的应用,而且在OLE和COM的不断发展过程中,名字技术发挥了其强大的扩展特性,异步名字对象的实现使它超越了OLE的应用范围,能更好地适用于网络环境,特别是Internet网络,体现了名字技术强大的生命力。
名字技术允许客户程序通过符号化的方式访问组件对象,而不必通过CLSID和类厂访问COM对象。名字技术不仅为COM对象提供了符号化的表达方式,而且它充分体现了面向对象软件体系的一些重要概念,甚至可以把它当作软件体系结构的一项技术来学习。
3、COM名字技术包括两方面内容:命名技术和绑定过程
4、名字对象
名字技术的核心是名字对象,COM使用术语”moniker”来表示名字对象,它本身也是一个COM对象。名字对象为组件对象提供了符号化的表示方法,同时它也对组件对象进行了全面的封装,客户程序只需创建相应的名字对象,然后利用名字对象的绑定功能得到组件对象。名字对象能够自动使组件对象从被动状态进入运行状态,所以名字对象也称为永久智能名字(persistent intelligent names)。
名字对象封装了组件对象的所有状态处理过程,因此客户程序可以按照统一的方法处理名字对象,即使要引用新的组件对象,客户代码也不必作任何改动。
版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明!