多语言展示
当前在线:1185今日阅读:61今日分享:18

怎样使用COM库。

Windows下COM库可以说是很通用,从ADO到ActiveX,从msxml到mssoap。都是典型的COM库。而怎样使用COM库就成了重点,本文将向您展示。
工具/原料
1

Visual C++ 6.0 版本以上

2

Windows操作系统

3

已拥有的COM库,可以是简单的COM库

步骤/方法
1

这里,你要知道你引用COM库的一些信息,比如他的IDL文件(一种接口描述语言文件)。为了引入这个,可以简单的使用include预编译命令:#include 'simpletest.h';也可以使用import命令引入dll:#import “Account.tlb” rename_namespace(“AccountDriver”) 。

2

初始化COM环境,这个过程是在把COM库引入程序。使用::CoInitialize(NULL)来完成。这一步是很多人忽略的,也是很多人错误的根本。

3

之后使用CoCreateInstance来创建对象的实例。

4

如果第3步成功,则可以调用其中的方法。

5

使用CoUnInitialize()来卸载COM库。

代码示例
1

HRESULT hr; //定义结果

2

ISimpleInterface* pIntf = NULL; //定义一个指向对象的指针,下面那个函数将会对这个指针赋值。所以此处可以初始化为NULL。

3

hr = CoCreateInstance(CLSID_SimpleInterface, NULL, CLSCTX_SERVER ,  IID_ISimpleInterface, (void **)& pIntf);//具体参数的意义,可以参考MSDN,主要是第一个参数是COM的类ID,这个常量来源于第一步的易用。最后一个用于传入指向对象指针的指针,好对指向对象的指针赋值。

4

//判断是否成功, if(SUCCEEDED(hr)) { pIntf->Welcome(); //调用相应函数 pIntf->Release(); //这一步关键,相当于delete。 }END

注意事项

对于步骤3,在对象使用完必须调用Release方法来释放,如果想自动完成的话,请使用ATL的智能指针,我会在其他章节里完成这个指针的使用说明。

推荐信息