你好,ATL
什么是ATL,ATL提供了什么?(为维护代价很高的数据类型BSTR,VARIANT,接口指针等提供包装类)
创建COM服务器
插入一个COM类
加入属性和方法
实现其他接口
支持脚本(dual IDispatch)
添加永久性(IPersistStreamInit,IPersistStorage,IPersistPropertyBag)
添加和激发事件(连接点)
使用窗口
实现组件类别(指出一个类具有特定行为 IMPLEMENTED_CATEGORY(CATID_SafeForScripting))
添加用户界面
容纳控制(那些能够自己提供用户界面(UI)的对象)
ATL智能类型 BSTR,VARIANT,接口指针
1.字符串数据类型,转换宏,辅助函数:BSTR,OLECHAR
2.BSTR
3.CComBSTR类:构造析构函数 初始化 CComBSTR操作符 连接字符串 字符大小写转换 比较操作符 对永久性的支持 BSTR注意点
4.VARIANT CComVariant:构造析构函数 初始化 CComVariant操作 比较操作符 对永久性的支持
5.CComPtr,CComQIPtr,CComDispatchDriver: CComPtr,CComQIPtr构造析构 初始值 操作(资源管理操作 CopyTo 类型转换 Detach Attach) CComPtr比较操作符 CComDispatchDriver是独立类是CComQIPtr<IDispatch>的特例