
ATL学习笔记系列
文章平均质量分 77
luckysym
这个作者很懒,什么都没留下…
展开
-
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 · 4315 阅读 · 0 评论 -
ATL学习笔记(3): QueryInterface功能的实现
在CComObjectRootEx类中,实现了线程安全的引用计数管理。而在CComObjectRootEx的父类CComObjectRootBase中,存在对QueryInterface的一个内部实现——InternalQueryface()。1. CComObjectRootBase类class CComObjectRootBase{public: ...... static原创 2006-03-14 01:22:00 · 3824 阅读 · 0 评论 -
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 · 7967 阅读 · 0 评论 -
ATL学习笔记(1):ATL单线程与多线程套间对象引用计数的基础实现
COM对象必须在套间中运行。套间分为单线程套间和多线程套间。在单线程套间中,套间保证COM对象实例仅有一个线程可以访问,而在多线程套间中,COM对象实例可同时被多个线程访问。因此,在多线程套间中执行的COM对象必须解决多线程访问的同步和冲突等线程安全相关问题。引用计数器管理的实现——CComObjectRootExATL使用CComObjectRootEx类来实现对COM对象计数器的管理,原创 2006-03-12 21:23:00 · 3604 阅读 · 0 评论