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();
简单吧.