- 博客(4)
- 收藏
- 关注
原创 ATL学习笔记(4): COM接口映射表
CComObjectRootObjectBase中以表驱动的方式对接口的查询作了一个内部的实现,即InternalQueryInterface()。所以在创建基于ATL的COM类时,需要创建一个包含所有实现接口的映射表。1. BEGIN_COM_MAP、END_COM_MAP、COM_INTERFACE_ENTRY与COM_INTERFACE_ENTRY2宏ATL提供了BEGIN_COM_
2006-03-16 00:35:00 7904
原创 ATL学习笔记(3): QueryInterface功能的实现
在CComObjectRootEx类中,实现了线程安全的引用计数管理。而在CComObjectRootEx的父类CComObjectRootBase中,存在对QueryInterface的一个内部实现——InternalQueryface()。1. CComObjectRootBase类class CComObjectRootBase{public: ...... static
2006-03-14 01:22:00 3798
原创 ATL学习笔记(2): ATL对象多线程访问临界锁的实现
1. 几个临界区类ATL将Windows临界区封装了一下,即CComCriticalSection和CComAutoCriticalSection类。两者的实现如下(精简):class CComCriticalSection{public: CComCriticalSection() { memset(&m_sec, 0, sizeof(CRITICAL_SECTION));
2006-03-13 01:55:00 4276
原创 ATL学习笔记(1):ATL单线程与多线程套间对象引用计数的基础实现
COM对象必须在套间中运行。套间分为单线程套间和多线程套间。在单线程套间中,套间保证COM对象实例仅有一个线程可以访问,而在多线程套间中,COM对象实例可同时被多个线程访问。因此,在多线程套间中执行的COM对象必须解决多线程访问的同步和冲突等线程安全相关问题。引用计数器管理的实现——CComObjectRootExATL使用CComObjectRootEx类来实现对COM对象计数器的管理,
2006-03-12 21:23:00 3563
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人