6、com与类库内容摘要:

ObjectFactory是一个通用的类厂 从 CCmdTarget派生 并实现了 IClassFactory2接口 定义内嵌的类厂对象: define DECLARE_OLECREATE(class_name) \ public: \ static AFX_DATA COleObjectFactory factory。 \ static AFX_DATA const GUID guid。 \ 利用 COM对象提供 CLSID和运行时刻类型信息 完成对象的创建工作 COM与类库 9 ( 3) ATL 基于模板的 C++类库 用于建立小巧、快速 COM构件程序 其内部模板类实现了 COM的一些 基本特征: IUnknown、 IClassFactory、 Idispatch等 及高级特征: dual interface、 connection point等 使用多重继承的方式实现 COM接口 COM与类库 10 定义 COM映射表等 define BEGIN_COM_MAP(x) public: \ typedef x _ComMapClass。 \ static HRESULT WINAPI _Cache(void* pv, REFIID iid, \ void** ppvObject, DWORD dw)\ {\ _ComMapClass* p = (_ComMapClass*)pv。 \ pLock()。 \ HRESULT hRes = CComObjectRootBase::_Cache(pv, iid, ppvObject, dw)。 \ pUnlock()。 \ return hRes。 \ }\ …... COM与类库 11 定义对象映射表 define BEGIN_OBJECT_MAP(x) static _ATL_OBJMAP_ENTRY x[] = { define END_OBJECT_MAP() {NULL, NULL, NULL, NULL, NULL,\ NULL, NULL, NULL}}。 define OBJECT_ENTRY(clsid, class) {amp。 clsid, class::Upd。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。