Com中的类供容器使用,开发ATL有感

一个类如果想被com容器使用,则必须继承于CComObjectRootEx和CComCoClass,示例

class ATL_NO_VTABLE CCMXLayers :
 public CComObjectRootEx<CComSingleThreadModel>,
 public CComCoClass<CCMXLayers, &CLSID_CMXLayers>,

 public IDispatchImpl<ICMXLayers, &IID_ICMXLayers, &LIBID_MapObjectLib, 1, 0>
{

普通的类是无法被容器使用的,COM程序和普通容器不同一样是,程序运行时,com运行在com服务器上,而程序本身还是在进程的内存上

posted @ 2011-03-23 12:43  银翼的魔术师  阅读(171)  评论(0编辑  收藏  举报