PART II
Introduce to COM
一、 Interfaces,接口
二、 IUnknown,所有接口的基类接口,管理参考计数和接口查询,定义三个方法:QueryInterface, AddRef, and Release
三、 Reference Counting,参考计数
四、 QueryInterface,接口查询
五、 Marshalling,列集,跨线程,进程,网络访问
六、 Aggregation,聚合,使用其他对象。
Introduce to ATL
一、创建ATL工程(使用AppWizard):
a) 决定服务类型:DLL, Excutable,Service(EXE).
b) 是否使用代理/存根机制:依据是否使用列集
c) 支持MFC函数?
d) 支持MTS,微软事物管理器。库支持:MTX.LIB, MTXGUID.LIB, MTXEX.DLL
e) 编译时,
1. 如果使用Minsize,则发布时需同时带上Atl.dll。
2. MinDependency,则不需要Atl.dll。
3. 使用CRT,则取消_ATL_MIN_CRT宏。建议使用win32函数取代CRT函数。如:strcmp->lstrcmp。
f) 生成的文件,参考“Polygon”……
g) 手工添加接口:
1. 在IDL文件中添加接口定义
2. 从接口导出对象或控件
3. 为接口新建一个COM_INTERFACE_ENTRY
4. 为接口增加方法。