COM之类型库

大家知道COM类型库包括对象,接口的元信息.通过类型库,你可以得到类与接口的各件信息,如:

1. 类名 2 基类 3 方法列表(包括方法的原型,方法的名称)4 属性列表(包括属性的类型,属性的名称).

既然我们类型库里有这么多信息,我们如何通过它来创建对像呢,其实不难.

1.首先加载类型库.

 ITypeLib * ptl = 0;
 hr = LoadRegTypeLib(LIBID_OnlyStudy01Lib,1,0,0,&ptl);

2. 得到某个类型信息

 ITypeInfo * ptinfo = 0;
 hr = ptl->GetTypeInfoOfGuid(CLSID_CMyAtlClass,&ptinfo);

3.创建类实列,并返回接口.

 hr = ptinfo->CreateInstance(NULL,IID_ICMyAtlClass,(void**)&ppv);

这样就可以调用,如ppv->run();

简单吧.

posted @ 2009-06-08 17:11  Christmas  阅读(823)  评论(0编辑  收藏  举报