[发明专利]一种调用COM对象中多个接口的方法有效

专利信息
申请号: 201210477299.0 申请日: 2012-11-21
公开(公告)号: CN103092684A 公开(公告)日: 2013-05-08
发明(设计)人: 孔贵生;皮霞林;佐伦 申请(专利权)人: 珠海金山办公软件有限公司;北京金山办公软件有限公司
主分类号: G06F9/46 分类号: G06F9/46
代理公司: 广东秉德律师事务所 44291 代理人: 杨焕军
地址: 519015 广东省珠*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 调用 com 对象 中多个 接口 方法
【说明书】:

【技术领域】

发明涉及计算机通讯领域,尤其涉及一种调用COM对象中多个接口的方法。

【背景技术】

组件对象模型,英文为Component Object Model,缩写COM,是一种跨应用和语言共享二进制代码的方法。

COM组件是遵循COM规范编写、以Win32动态链接库(DLL)或可执行文件(EXE)形式发布的可执行二进制代码,能够满足对组件架构的所有需求。一个COM组件,也被称为一个模块,它可以是一个动态连接库(DLL),被称为进程内组件(in-of-process component),也可以是一个可执行程序(EXE),被称为进程外组件(out-of-process component)。

一个COM组件(也称组件程序)可以包含一个或多个COM对象,因为COM是以COM对象为基本单元的模型,所以在COM组件与COM组件之间进行通信时,通信的双方应该是COM对象,而COM组件是提供COM对象的代码载体。

COM对象是一个使用COM规格的、可以重复使用的软件模块,其能够暴露任意数量的接口,一个接口是一组能够执行指定操作的方法;其中,COM对象必须暴露IUnknown接口,IUnknow接口有三个函数:QueryInterface,AddRef(),Release()。

目前,使用COM对象的应用(或另一个COM对象)称为客户,当客户要使用某一COM组件中的某一COM对象的某个接口时,首先必须调用COM库中的API函数调用出该某一COM对象,然后使用其IUnknow接口的QueryInterface函数查询到所需接口并调用,由所需接口所定义的方法进行运算,并反馈返回值给上述客户。由于,一次使用IUnknow接口的指令中只能查一个其他接口,如果想对某一COM对象的多个接口进行调用,就必须等客户收到上一个接口的反馈值再来查询并调用下一个接口,这样的效率是非常低的,特别是在跨COM组件的调用COM对象的情况下。

结合图1,例如,第一COM对象暴露了包括下面五个标准接口:IUnknow接口、+接口、-接口、×接口、÷接口,其中,+接口、-接口、×接口、÷接口分别对应定义:加运算方法(方法名为Add)、减运算(方法名为Subtract)、乘运算、除运算。假设客户现在要计算:1+2,1-2,1×2,1÷2,先调用出第一COM对象,客户输出使用指令“QueryInterface(“Add”,1,2)”,通过第一COM对象的IUnknow接口的QueryInerface函数去查询“+接口”,“+接口”所定义的方法计算出返回值,第一COM对象将返回值回传给客户;然后再输出使用指令“QueryIntefface(“Subtract”,1,2)”去查询“-接口”以得到第二个返回值,如此类推,耗时的操作是4次。

【发明内容】

本发明提供一种调用COM对象中多个接口的方法,其能解决调用速度慢的问题。

上述技术问题通过以下技术方案实现:

一种调用COM对象中多个接口的方法,包括以下步骤:

(1)预先对在所需调用的COM对象内进行创建自定义接口,并对该自定义接口定义方法:在COM对象内部调用所述多个接口;

(2)当需要调用COM对象中所述多个接口时,调用COM库中的API函数调用出所述COM对象,然后直接查询并调用所述自定义接口;

(3)所述自定义接口在执行过程中调用多个接口。

进一步的方案是,对在所需调用的COM对象内进行创建自定义接口,具体为,创建实现自定义接口定义方法并满足接口要求的d11,然后注册加载到所需调用的COM对象中。

由上述方案可见,本发明通过嵌入至软件内部执行代码(即对在所需调用的COM对象内进行创建自定义接口),实现将原来的外部多次使用COM对象中的IUnknow接口来调用多个接口变成了外部一次使用COM对象中的IUnknow接口来调用多个接口,有效地提高数据处理速度,特别是在跨COM组件的调用COM对象的情况下,非常节省时间。同时,本方法并没有改变COM对象原有的标准接口,因为通常的商业公司开发的COM对象是不允许其他人修改其原有的标准接口。

【附图说明】

图1为目前调用COM对象中多个接口的示意图;

图2为本发明的流程图;

图3为本发明调用COM对象中多个接口的示意图。

【具体实施方式】

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海金山办公软件有限公司;北京金山办公软件有限公司,未经珠海金山办公软件有限公司;北京金山办公软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210477299.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top