COM组建对象模型

  COM组建对象模型和面向对象一样,都是一种编程方法,有着共同目标:复用(或可重用)。 但组建开发和面向对象开发的复用是不同的。 COM组建对象模型超越了 创建可重用对象的特定语言的限制,它是真正的二进制标准。

  C++类具有成员函数,而COM对象具有方法。 方法被组织在接口中,并通过接口指针来调用方法。

  COM接口是通过一个128位的IID(interface ID)标识的,而不是用名字标识。 COM类与接口一样,也是由128位的类ID,或称为CLSID 的GUID值标识。

为了实例化一个COM对象,只需知道该对象的CLSID就可以了。 COM对象具有自己的API,其中的 激活函数 用来创建对象实例。

每个对外可创建的COM类都伴随有一个 类对象, 类对象也是一个COM对象,它生存的唯一目的是为了创建其他COM对象。类对象的作用与构造函数类似。

大多数类对象都实现了一个特殊的COM接口IClassFactory , 实现IClassFactory的类对象被称为 类工厂

COM组建对象模型

时间: 2024-11-05 11:28:20

COM组建对象模型的相关文章

《COM本质论》读书笔记

前言 虽然一直都不喜欢Windows的应用开发,不过由于现在工作需要,必须对 Win32 开发非常熟悉. Windows 上的 C++ 开发,逃不过对组建对象模型COM(Component Object Model)编程的学习和理解,尤其是游戏.音视频领域 —— Direct3D/Direct2D/DirectShow/DirectSound 等等.COM已经是上个世纪的产物了,所以相关的学习资料也都很老了,不过<COM本质论>是一本不错的入门书.在此我做做笔记加深理解. 第1章:COM是一个

2016060101

一.ADO数据模型 1.ADO全称: ActiveX Data Objects 2.ADO是面向对象的.是对当前微软所支持的数据库进行操作的最有效和最简单直接的方法,它是一种功能强大的数据访问编程模式,是对OLE DB的封装 二.ADO编程步骤: 1.在stdAfx.h文件中,导入使用的dll文件 #import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF&qu

常用端口号

端口号 0-65535  ,that is 2^16 不同的端口对应着不同的服务 21 :FTP 23 : telnet 25: SNMP (Simple Mail Transfer Protocol,简单邮件传输协议),主要用于发送邮件,如今大多数邮件服务器使用该protocol. 80:HTTP 109,110: 109端口是为POP2(Post Office Protocal Version2,邮件协议2)服务开发的 110端口是为POP3服务开发的,POP2,POP3主要是用于接受邮件

OCX组件

转自:http://blog.sina.com.cn/s/blog_4ca9ceef0100ixzb.html 一.OCX(OLE Control Extensio,OLE Object Linking and Embedded)组件的来历是怎样的? 对象链接和嵌入用户控件(是一种可以由在微软的Windows系统中运行的应用软件创建使用的特殊用途的程序,定义 ActiveX控件.ActiveX控件是可重用的软件组件. 用途 使用它可以很快地在网址.台式应用程序.以及开发工具中加入特殊的功能.Ac

OCX和DLL的区别

转自:http://blog.csdn.net/scucj/archive/2006/06/29/852181.aspx 一.关于DLL的介绍      DLL,动态链接库,Dynamic Link Library的缩写,是一个包含函数和数据的模块集合,可以被其它应用程序共享的程序模块.DLL作为共享函数库的可执行文件,封装了一个或多个已被编译.链接的函数.多个进程可以同时使用一个 DLL,在内存中共享该 DLL 的一个副本.DLL 还有助于共享数据和资源.   它和可执行文件(.EXE文件)非

剖析ActiveX控件安全问题

Dissect ActiveX Control Safety 1.介绍 如果你曾经在网页或者ASP中使用过com对象,你可能会发现,有时候会出现这样讨厌的对话框     这是因为你的控件没有被标记为安全的,对于初始化不安全或者对于脚本不安全,甚至兼而有之.你每打开一次这样的网页,这种情况就会发生一次,你怎么办?当然,这可以通过设置IE本身的安全等级为low来解决这样的问题,但是如果你要制作一个可发布的控件,你能想象到每一位用户在使用你制作的控件时都要且列抱怨这种强制行为:或者如果你是其中一个使用

图像处理中几个基本的处理方法c#代码实现

图像是人类获取和交换信息的主要来源,因此,图像处理的应用领域必然涉及到人类生活和工作的方方面面.随着人类活动范围的不断扩大,图像处理的应用领域也将随之不断扩大.(1)航天和航空技术方面的应用 数字图像处理技术在航天和航空技术方面的应用,除了上面介绍的JPL对月球.火星照片的处理之外,另一方面的应用是在飞机遥感和卫星遥感技术中.许多国家每天派出很多侦察飞机对地球上有兴趣的地区进行大量的空中摄影.对由此得来的照片进行处理分析,以前需要雇用几千人,而现在改用配备有高级计算机的图像处理系统来判读分析,既

React native中的组建通知通信:

有这么一个需求,在B页面pop()回到A页面,需要A页面执行刷新,那么我们可以采用以下方法: 1:在A页面Push到B页面中,加上一个A页面中的刷新函数做为参数,然后在B页面中在pop()函数封装后通过this.props.xxx来执行! 2:通过组建之间的通知(监听)来执行! 在A页面上: 在didmount中 this.listener = RCTDeviceEventEmitter.addListener('undateUserInfo',(value)=>{ // 接受到通知后刷新 co

JavaScript----BOM(浏览器对象模型)

BOM 浏览器对象模型 BOM 的全称为 Browser Object Model,被译为浏览器对象模型.BOM提供了独立于 HTML 页面内容,而与浏览器相关的一系列对象.主要被用于管理浏览器窗口及与浏览器窗口之间通信等功能. 1.Window 对象 window对象是BOM中最顶层对象:表示当前浏览器窗口,window对象的属性和方法应用于当前整个浏览器窗口. window 对象的属性主要有: screenX / screenY / screenLeft / screenTop:都为获取位置