社区
ATL
帖子详情
关于ATL中实现文件/目录模型
shuicai
2003-08-18 10:14:26
求解决建议。有相关事例另给分。
1。一个类似文件/目录模型的问题。Folder 包含多个文件, 同时又可以包含多个Folder(自包含),这个问题如何解决比较?
2。另外如何具体实现容器类(聚合的)比较好?计数问题是否要特别处理?
...全文
73
3
打赏
收藏
关于ATL中实现文件/目录模型
求解决建议。有相关事例另给分。 1。一个类似文件/目录模型的问题。Folder 包含多个文件, 同时又可以包含多个Folder(自包含),这个问题如何解决比较? 2。另外如何具体实现容器类(聚合的)比较好?计数问题是否要特别处理?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shuicai
2003-08-23
打赏
举报
回复
UML简单描述
---------------------- |----------------------
| 容器类 | <>----------------------| 元素(可做为容器属性)|
|--------------------- |---------------------|
| | <>-------- | |
----------------------- | |---------------------|
| | | | |
| | | |——————————-| | |
----------------------- |
| |
| |
| ----------------------
zhjackal
2003-08-19
打赏
举报
回复
Compound Document?
天限天空
2003-08-19
打赏
举报
回复
?
深入解析
ATL
(第2版).pdf
中
文名: 深入解析
ATL
(第2版) 原名:
ATL
Internals, 2nd Edition Working with
ATL
8 别名:
ATL
作者: (美)塔瓦瑞斯译者: 赖仪灵 曹雨田 资源格式: PDF 版本: 扫描版 出版社: 电子工业出版社书号: 9787121049859发行时间: 2007年11月01日 地区: 大陆 语言: 简体
中
文 简介: 编辑推荐
ATL
的发明人Jim Springfield亲自作序推荐。 四位顶尖的Windows编程专家倾力合作,绝对经典再现。 COM、
ATL
开发人员的必备宝典。 深入分析
ATL
实现
COM内幕细节,展示COM应用
中
的各类漂亮技巧。
ATL
的经典指南现已更新到
ATL
8和VisuaI Studio 2005: 四位顶尖的Windows编程专家在本书
中
系统地揭示了
ATL
的内部工作原理,他们解释了
ATL
是 如何工作的,以及为什么要以这样的方式工作。通过本书,客户端开发人员可以掌握
ATL
中
的窗口、COM控件、MFC集成、Web服务代理生成等资源。服务端编程人员可以应用
ATL
的全COM服务器和对象服务、高吞吐量、高并发Web应用程序和服务的广泛支持。每个Windows开发人员都将从本书
中
学到强大的方法来增加应用程序的灵活性、减少负载、最大化程序的透明度和可控性。 ·通过图表、示例代码和
ATL
的内部
实现
代码来揭密
ATL
的内部原理。 ·遍历向导以简化在普通应用程序
中
的
ATL
开发。 ·掌握C++、COM和
ATL
中
的字符串使用技巧。 ·利用
ATL
的智能类型:CComPtr、CComQIPtr、CComBSTR和CComVariant。 ·理解并正确
实现
IUnknown。 ·创建能从COM服务器
中
暴露COM对象的粘合代码。 ·使用Canned Interface
实现
来支持对象的永久性、COM集合、枚举器和连接点。 ·使用
ATL
窗口类和控件建立独立的应用程序和UI组件。 ·使用
ATL
Servet开发可以运行在微软IIS上的Web应用程序。 虽然.NET系统从1998年才开始其发展进程。但它已经使很多开发人员的编程发生了革命性的变化,并在未来几年将持续得到改进。但是,COM编程(和
ATL
)也依然非常有活力,对Microsoft内外的很多开发人员都非常重要。本书的第2版,与第1版一样,提供了您所需要的信息,使我们在这些技术上的投资也将获得最大的回报。 ——Jim Springfield,
ATL
发明人 虽然
ATL
比较精深,但是这本书的讲解非常通俗易懂,语言比较简练,条理非常清楚。即使在读完这本书之后,它仍然可以作为参考书指导我们的开发和学习工作。我想,这就是好书的价值所在吧。 ——潘爱民,经典畅销书《深入解析Windows操作系统,第4版》译者 内容简介 本书主要介绍了
ATL
技术的原理、内部
实现
和应用技巧,由当今4 位顶尖的 Windows技术专家联合撰写。全书内容丰富,深入浅出,主要涵盖了
ATL
内部架构和
实现
方法、运用向导简化
ATL
开发、C++/COM/
ATL
中
字符串的使用技巧、理解并正确
实现
IUnknown、充分利用
ATL
提供的Smart Types、撰写能够暴露COM服务器上COM对象的粘合代码、利用Canned Interface
实现
来支持对象持久化/COM群集/枚举、利用
ATL
Windows类建构独立的应用程序和UI组件等的技术内容。本书适合于广大Windows开发人员阅读参考,是
ATL
开发人员的必备权威参考书籍。 作者简介 Christopher Tavares,目前在微软工作,是模式与实践方面的专家。有着超过25年的编程经验,涉及的平台从Sinclair ZX-81到多CPU信号处理硬件。
目录
: 第2版序 第1版序 前言 致谢 关于作者 联系博文视点 第1章 你好,
ATL
1.1 什么是
ATL
1.2 创建COM服务器 1.3 插入COM类 1.4 添加属性和方法 1.5
实现
附加接口 1.6 脚本支持 1.7 添加永久性 1.8 添加和激发事件 1.9 使用窗口 1.10 COM控件 1.11 容纳控件 1.12
ATL
Server Web项目 1.13 总结 第2章 字符串和文本 2.1 字符串数据类型、转换类和辅助函数 2.2 智能BSTR类CComBSTR 2.3 CComBSTR类 2.4 CString类 2.5 总结 第3章
ATL
智能类型 3.1 智能VARIANT类CComVariant 3.2 智能SAFEARRAY类CComSafeArray 3.3 智能指针类CComPtr和CComQIPtr 3.4 智能指针类CAutoPtr和CAutoVectorPtr 3.5
ATL
内存管理器 3.6 总结 第4章
ATL
中
的对象 4.1
实现
IUnknown 4.2
ATL
的层次 4.3 线程
模型
支持 4.4 IUnknow核心 4.5 我们的类 4.6 CComObject以及其他 4.7
ATL
创建者 4.8 调试 4.9 总结 第5章 COM服务器 5.1 回顾COM服务器 5.2 对象映射表和C
Atl
Module类 5.3 对象映射表 5.4 对象映射类要求的方法 5.5 C
Atl
Module类 5.6 重游CComCoClass 5.7
ATL
与C运行时库 5.8 总结 第6章 接口映射表 6.1 回顾:COM的实体身份 6.2 表驱动的QueryInterface 6.3 多重继承 6.4 Tear-off接口 6.5 聚合:外部控制对象 6.6 接口映射表链 6.7 尽管说“不” 6.8 调试 6.9 扩展性 6.10 总结 第7章
ATL
中
的永久性 7.1 回顾COM的永久性 7.2
ATL
的永久性
实现
类 7.3 属性映射表 7.4 永久性
实现
7.5 其他永久性
实现
7.6 使用永久性添加“按值列集”的语义 7.7 总结 第8章 集合和枚举器 8.1 COM集合和枚举接口 8.2 枚举数组 8.3 枚举标准的C++集合 8.4 集合 8.5
ATL
数据类型的标准C++集合 8.6
ATL
集合 8.7 对象
模型
8.8 总结 第9章 连接点 9.1 回顾连接点 9.2 创建基于
ATL
的可连接对象 9.3 创建一个接收事件的对象 9.4 它是怎么工作的:杂乱的
实现
细节 9.5 总结 第10章 窗口 10.1 Windows应用程序的结构 10.2 CWindow 10.3 CWindowImpl 10.4 CDialogImpl 10.5 Windows控件包装类 10.6 CContainedWindow 10.7 总结 第11章 ActiveX控件 11.1 回顾ActiveX控件 11.2 BullsEye控件需求 11.3 使用
ATL
向导创建初始的控件 11.4 初始的BullsEye源
文件
11.5 逐步开发BullsEye控件 11.6 总结 第12章 控件包容 12.1 控件是如何被包容的 12.2 基本的控件包容 12.3 在对话框
中
容纳控件 12.4 复合控件 12.5 HTML控件 12.6
ATL
控件包容的限制 12.7 总结 第13章 你好,
ATL
Server:一个新型的C++ Web平台 13.1 微软Web平台(因特网信息服务) 13.2 可能是可以运行的最简单ISAPI扩展 13.3 封装ISAPI 13.4
ATL
Server 13.5
ATL
Server
中
的Web服务 13.6 总结 第14章
ATL
Server内幕 14.1
ATL
Server
中
的ISAPI
实现
14.2 服务器响应
文件
14.3 请求处理程序示例 14.4 输入处理 14.5 会话管理 14.6 数据缓存 14.7 总结 附录A 实例展示C++模板 A.1 模板的必要性 A.2 模板基础 A.3 不同类型的多态 A.4 函数模板 A.5 成员函数模板 A.6 总结 附录B
ATL
头
文件
附录C 移植到
ATL
8 C.1 字符串、字符集和转换 C.2 与MFC共享的类 C.3
实现
COM服务器 C.4 ActiveX控件和控件容纳 C.5
ATL
_MIN_CRT变化 C.6 总结 附录D 属性化
ATL
D.1
ATL
Attributes的基础 D.2 属性化
ATL
的未来 D.3 总结 索引
AME_
ATL
_MUT_Testing
AME_
ATL
_MUT_Testing 2015年高级
模型
工程课程的存储库,主题为
ATL
中
的变异测试。 提供的
文件
夹和工件: eclipseLuna32.rar。 我一直在使用的Eclipse实例可以从 Mutation2015_Submitted.pdf。 建议阅读论文以了解学生将要完成的工作
ATL
元
模型
。
ATL
元
模型
以及
ATL
.ecore
文件
的快照 Examples_In_Slides。 它包含带有
实现
的示例项目,以运行幻灯片
中
出现的示例。 Public2Private_AME。 带有多个Public2Private转换版本的项目(所有版本都是就地转换) HOTs_AME。 幻灯片
中
显示的HOT实施项目
ATL
_File2Model。 将
ATL
文件
注入
模型
的项目
ATL
_Model2File。 将
ATL
模型
提取到
文件
中
的项目 Mutation_Testing。 它包含以
ATL
——com学习笔记
1 、如何替换默认的类厂? 2 、如何让 COM 组件支持 Web 事件? 3 、如何动态创建要求 License 的 ActiveX 控件? 4 、如何在 Web 页面上生成基于 XML 的树形菜单? 5 、如何在 Web 页面上创建动态表格? 6 、如何为 Win32 服务程序提供事件源消息
文件
? 7 、如何创建单实例(静态) COM 组件? 8 、如何在 Delphi 6 及以上版本
中
使用可变常量(类型常量)? 9 、几个有用的 ANSI C 和 VC++ 预定义宏 10 、如何在自己的程序
中
使用脚本语言? 11 、如何在基于 CHtmlView 的程序
中
使用 HTML 事件映射? 12 、如何得到 Web 页面
中
的 COM 组件的原始接口? 13 、如何生成全球唯一标识( UID )? 14 、如何重写 MFC 的缺省控件容器( IOleContainer )? 15 、如何重写 WebBroswer 控件的缺省安全处理功能? 16 、如何重写 WebBroswer 控件的缺省下载管理器? 17 、如何定制 IE 或 WebBroswer 控件的缺省打印和打印预览框? 18 、如何扩展 IE 或 WebBroswer 控件提供的文档对象
模型
( DOM )? 19 、如何给 WebBroswer 控件的扩展文档对象(文档 .external )提供事件能力 ? 20 、如何打开流
中
的 HTML 文档? 21 、如何使 Web 页面
中
的对象可以拖动? 22 、如何把 Web 页面
中
用到的图像等外部
文件
嵌入 DLL 或 Exe ? 23 、如何使用 #import 指令从
文件
定位特定类型库资源 ID ? 24 、如何让你的 MFC 类
实现
IDispatch 接口? 25 、如何自行管理 IE 缓存
目录
里的内容? 26 、 Windows Mobile 里如何使用 WebBrowser 控件? 27 、为什么在 Windows Mobile 里无法使用宿主在 exe 里的 COM 组件? 28 、如何扩展 IE 的协议,使其支持自定义的协议?
COM技术内幕——微软组件对象
模型
--随书源代码
CruiseYoung提供的带有详细书签的电子书籍
目录
http://blog.csdn.net/fksec/article/details/7888251 该资料是《COM技术内幕——微软组件对象
模型
》一书的随书源代码 COM技术内幕——微软组件对象
模型
基本信息 原书名: Inside COM: Microsoft's Component Object Model with Cdrom 原出版社: Microsoft Press 作者: (美)Dale Rogerson 译者: 杨秀章 丛书名: 微软版权图书 出版社:清华大学出版社 ISBN:730203320X 上架时间:2001-10-11 出版日期:1999 年3月 页码:293 版次:1-1 所属分类:计算机 > 软件与程序设计 > COM/DCOM/
ATL
/COM+ 内容简介 微软公司的组件对象
模型
(COM)作为一种重要的工具已崭露头角,它是微软迈向分布式计算的基础。不论现在还是将来,它都是定制应用程序的一种强大的方法。并且它是OLE和ActiveX 的基础。COM帮助你理解未来的程序开发技术,而这本书帮助你理解COM。在本书
中
你将发现:构建优美的COM组件的清晰、简单、实用的规则;COM是如何易学易用,特虽是对那些熟练掌握C++ 的人;循序渐进地介绍COM设计;以代码形式给出的大量实例。 《COM技术内幕》适合于
中
、高级C++程序员;COM、ActiveX和OLE程序员;对组件设计感兴趣的研究人员;以及那些当COM移植到UNIX、MVS和其他环境时想要使用到COM的程序员。 编辑推荐 微软公司的组件对象
模型
(COM)作为一种重要的工具已崭露头角,它是微软迈向分布式计算的基础。不论现在还是将来,它都是定制应用程序的一种强大的方法。并且它是OLE和ActiveX 的基础。COM帮助你理解未来的程序开发技术,而这本书帮助你理解COM。在本书
中
你将发现:构建优美的COM组件的清晰、简单、实用的规则;COM是如何易学易用,特虽是对那些熟练掌握C++ 的人;循序渐进地介绍COM设计;以代码形式给出的大量实例。
目录
封面 -17 扉页 -16 版权 -15 译者前言 -14
目录
-13 引言 -6 第1章 组件 1 1.1 使用组件的优点 2 1.1.1 应用程序的定制 2 1.1.2 组件库 3 1.1.3 分布式组件 3 1.2 对组件的需求 4 1.2.1 动态链接 4 1.2.2 信息封装 5 1.3 COM 6 1.3.1 COM组件是…… 7 1.3.2 COM不是…… 7 1.3.3 COM库 8 1.3.4 COM方法 8 1.3.5 COM超越了用户的需要 8 1.4 本章小结 9 第2章 接口 11 2.1 接口的作用 11 2.1.1 可复用应用程序架构 12 2.1.2 COM接口的其他优点 13 2.2 COM接口的
实现
13 2.2.1 编码约定 14 2.2.2 一个完整的例子 15 2.2.3 非接口通信 18 2.2.4
实现
细节 18 2.3 接口理论:第二部分 20 2.3.1 接口的不变性 20 2.3.2 多态 20 2.4 接口的背后 21 2.4.1 虚拟函数表 21 2.4.2 vtbl指针及实例数据 23 2.4.3 多重实例 24 2.4.4 不同的类,相同的vtbl 24 2.5 本章小结 26 第3章 QueryInterface函数 27 3.1 接口查询 28 3.1.1 关于IUnknown 28 3.1.2 IUnknown指针的获取 29 3.1.3 关于QueryInterface 29 3.1.4 QueryInterface的使用 30 3.1.5 QueryInterface的
实现
31 3.1.6 关于类型转换 32 3.1.7 一个完整的例子 35 3.2 关于QueryInterface的
实现
规则 40 3.2.1 同一IUnknown 40 3.3.2 客户可以获取曾经得到过的接口 41 3.2.3 可以再次获取已经拥有的接口 41 3.2.4 客户可以从任何接口返回到起始接口 42 3.2.5 若能够从某接口获取某特定接口,则从任意接口都将能够获取此接口 42 3.3 QueryInterface定义了组件 43 3.3.1 接口集 44 3.4 新版本组件的处理 44 3.4.1 何时需要建立一个新版本 46 3.4.2 不同版本接口的命名 46 3.4.3 隐含
Visual C++实践与提高-COM和COM+篇『PDF』
因
文件
超过20M不能上传,所以拆分为两个
文件
分次上传 第1章 COM背景知识 1.1 COM的起源 1.1.1 软件业面临的挑战 1.1.2 传统解决方案 1.1.3 面向对象程序设计方法 1.1.4 最终解决方案:组件软件 1.1.5 面向对象的组件
模型
——COM 1.2 COM的发展历程 1.2.1 COM以前的对象技术:DDE、OLE 1、VBX控件 1.2.2 COM首次亮相:OLE2 1.2.3 Microsoft拥抱Internet:ActiveX 1.2.4 更多的新名词:Windows DNA和COM+ 1.2.5 远程对象:ORBs和DCOM 1.2.6 COM的最新版本:COM+ 1.3 COM技术现状 1.3.1 COM与CORBA 1.3.2 COM与Enterprise Java Beans 1.3.3 Windows之外的COM 小结 第2章 从C++到COM 2.1 C++客户重用C++对象——例程DB 2.1.1 C++对象 2.1.2 客户程序 2.2 将C++对象移进DLL
中
——例程DB_cppdll 2.2.1 成员函数的引出 2.2.2 内存分配 2.2.3 Unicode/ASCII兼容 2.2.4 例程
实现
2.2.4.1 修改接口
文件
2.2.4.2 修改对象程序 2.2.4.3 修改客户程序 2.3 C++对象使用抽象基类——例程DB_vtbl 2.3.1 问题:私有数据成员被暴露 2.3.2 解决方案:抽象基类 2.3.2.1 什么是抽象基类(Abstract Base Class) 2.3.2.2
实现
秘诀:虚函数(Virtual Functions) 2.3.3 使用抽象基类 2.3.4 例程
实现
2.3.4.1 修改接口
文件
2.3.4.2 修改对象程序 2.3.4.3 修改客户程序 2.4 改由COM库装载C++对象——例程dbalmostcom 2.4.1 COM库 2.4.2 对象创建的标准入口点 2.4.3 标准对象创建API 2.4.4 标准对象注册 2.4.5 例程
实现
2.4.5.1 修改接口
文件
2.4.5.2 修改对象程序 2.4.5.3 修改客户程序 2.5 将C++对象变成COM对象 2.5.1 引用计数 2.5.2 多接口 2.5.3 IUnknown接口 2.5.4 标准类厂接口:IClassFactory 2.5.5 对象代码的动态卸载 2.5.6 自动注册 2.5.7 例程
实现
2.5.7.1 修改接口
文件
2.5.7.2 修改对象程序 2.5.7.3 修改客户程序 2.6 为COM对象添加多接口支持 2.6.1 多接口 2.6.2 DEFINE_GUID 2.6.3 例程
实现
2.6.3.1 修改接口
文件
2.6.3.2 修改对象程序 2.6.3.3 修改客户程序 小结 第3章 COM基础知识 3.1 对象与接口 3.1.1 COM对象 3.1.2 COM接口 3.1.3 IUnknown接口 3.1.3.1 生存期控制:AddRef和Release 3.1.3.2 接口查询:QueryInterface 3.1.4 全球唯一标识符GUID 3.1.5 COM接口定义 3.1.6 接口描述语言IDL 3.2 COM应用
模型
3.2.1 客户/服务器
模型
3.2.2 进程内组件 3.2.3 进程外组件 3.2.4 COM库 3.2.5 HRESULT返回值 3.2.6 COM与注册表 3.3 COM组件 3.3.1
实现
类厂对象 3.3.2 类厂对象的创建 3.3.3
实现
自动注册 3.3.4
实现
自动卸载 3.4 COM客户 3.4.1 COM对象创建函数 3.4.1.1 CoGetClassObject 3.4.1.2 CoCreateInstance 3.4.1.3 CoCreateInstanceEx 3.4.2 如何调用进程内组件 3.4.3 COM客户调用进程外组件 3.5 进一步认识COM 3.5.1 可重用机制:包容和聚合 3.5.2 进程透明性 3.5.3 安全性机制 小结 第4章 COM扩展技术 4.1 可连接对象机制 4.1.1 客户、接收器与可连接对象 4.1.1.1 接收器 4.1.1.2 可连接对象 4.1.1.3 客户 4.1.2
实现
可连接对象 4.1.3
实现
接收器 4.1.4 建立接收器与连接点的连接 4.1.5 获得出接口的类型信息 4.2 结构化存储 4.2.1 什么叫结构化存储和复合
文件
4.2.2 存储对象和IStorage接口 4.2.2.1 IStorage接口 4.2.2.2 获得IStorage指针 4.2.2.3 释放STATSTG内存 4.2.2.4 枚举存储对象
中
的元
ATL
3,245
社区成员
48,539
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章