简介
ATL是一组小而灵活的类,可用于开发COM组件。本书对ATL的内部工作原理做了深入的剖析,详细介绍了关于ATL设计的基础知识和体系结构,展示了ATL如何与COM相匹配,并对一些重要的实施细节做了具体提示。在此基础上,对ATL的一些高级内容和功能做了充分的介绍。更为重要的是,本书还指出了ATL存在的一些缺陷,并告诉读者如何去避免。
本书具有一定的技术深度,适合有经验的COM和VC++程序员阅读。
Brent Rector is President of Wise Owl Consulting,Inc., a form that specializes in Windows/COM development and consulting.He also teaches classes on COM, ATL,and MTS for DevelpMentor,a leading COM education firm.His previous books include Win32 Programming ,Developing windows 3 Applications with Microsoft SDK,and Developing Windows 3.1 Applications with Microsoft C/C++.He received the Microsoft Annual MVP award for his contributions to CompuServe's Windows forums.
Chris Sells Works as an independent consultant specializing in design and development using COM.He is also a COM C++, and ATL instructor for DevelopMentor,where he authored the Essential ATL five-day shor course.His previous books include Effective COM and Windows Telephony Programming .He is a contributor to the Visual C++ Developer's Journal and the Visual C++ Professional newsletter,and a frequent speaker at conferences ,including Software Development,WinDev,and the Visual C++ Developer's Conference.
目录
foreword ix
preface xiii
chapter 1 hello, atl 1
what is atl? 1
creating a com server 2
inserting a com class 5
adding properties and methods 11
implementing additional intetgaces 13
support for scripting 16
adding persistence 17
adding and firing events 19
using a window 23
implementing component categories 27
adding a user intetgace 28
hosting a control 29
summary 32
chapter 2 atl smart types: strings, bstrs, variants,and interface pointers 33
string data types, conversion macros, and helper functions 33
the ccombstr smart bstr class 43
the ccombstr class 45
.the comvariant smart variant class 61
the ccomptr, ccomqirtr, and coomdispatchdriver smart pointer classes 74
summary 90
chapter 9 objects in atl 93
recall: com apartments 93
implementing iunknown 95
the layers of atl 98
threading model support 99
the core of iunknown 107
your class 114
ccomobject et al. 120
atl creators 134
debugging 149
summary 155
chapter 4 com servers 157
a review of com servers 157
the object map and the ccommodule class 159
the object map 160
methods required of an object map class 163
the ccommodule class 197
ocomcoclass revisited 206
server optimization compilation options 208
summary 21o
chapter 5 interface maps 211
recall: com identity 211
table-driven querylnterface 213
multiple inheritance 220
tear-off interfaces 231
aggregation: the controlling outer 239
interface map tricks 248
summary 256
chapter 6 persietence in atl 257
a review of com persistence 257
atl persistence implementation classes 268
the property map 268
the persistence implementations 270
additional persistence implementations 285
adding marshal-by-value semantics using persistence 294
summary 297
chapter 7 collections and enumarators 299
com collection and enumeration interfaces 299
enumerating arrays 313
enumerating stl collections 324
collections 335
stl collections of atl data types 341
simple collections 346
object models 349
summary 354
chapter 8 connection points 357
a review of connection points 357
creating an atl-based connectable object 361
creating an object that is an event recipient 373
how it all works: the messy implementation details 386
summary 405
chapter 9 windowing 407
the structure of a windows application 407
cwindow 41o
cwindowlmpl 416
cdialoglmpl 452
windows control wrappers 462
ccontainedwindow 468
summary 474
chapter 10 activex controls 475
a review of activex controls 475
the bullseye control requirements 477
creating the initial control using the atl wizard 486
the initial bullseye source files 489
developing the bullseye control step by step 495
summary 538
chapter 11 control containment 539
how controls are contained 539
basic control containment 540
hosting a control in a dialog 573
composite controls 581
html controls 585
atl's control containment limitations 598
summary 599
appendix a c++ templates by example 601
the need for templates 601
template basics 603
a different kind of polymorphism 605
function templates 611
member function templates 612
summary 613
appendix b atl classes and headers 615
index 623
preface xiii
chapter 1 hello, atl 1
what is atl? 1
creating a com server 2
inserting a com class 5
adding properties and methods 11
implementing additional intetgaces 13
support for scripting 16
adding persistence 17
adding and firing events 19
using a window 23
implementing component categories 27
adding a user intetgace 28
hosting a control 29
summary 32
chapter 2 atl smart types: strings, bstrs, variants,and interface pointers 33
string data types, conversion macros, and helper functions 33
the ccombstr smart bstr class 43
the ccombstr class 45
.the comvariant smart variant class 61
the ccomptr, ccomqirtr, and coomdispatchdriver smart pointer classes 74
summary 90
chapter 9 objects in atl 93
recall: com apartments 93
implementing iunknown 95
the layers of atl 98
threading model support 99
the core of iunknown 107
your class 114
ccomobject et al. 120
atl creators 134
debugging 149
summary 155
chapter 4 com servers 157
a review of com servers 157
the object map and the ccommodule class 159
the object map 160
methods required of an object map class 163
the ccommodule class 197
ocomcoclass revisited 206
server optimization compilation options 208
summary 21o
chapter 5 interface maps 211
recall: com identity 211
table-driven querylnterface 213
multiple inheritance 220
tear-off interfaces 231
aggregation: the controlling outer 239
interface map tricks 248
summary 256
chapter 6 persietence in atl 257
a review of com persistence 257
atl persistence implementation classes 268
the property map 268
the persistence implementations 270
additional persistence implementations 285
adding marshal-by-value semantics using persistence 294
summary 297
chapter 7 collections and enumarators 299
com collection and enumeration interfaces 299
enumerating arrays 313
enumerating stl collections 324
collections 335
stl collections of atl data types 341
simple collections 346
object models 349
summary 354
chapter 8 connection points 357
a review of connection points 357
creating an atl-based connectable object 361
creating an object that is an event recipient 373
how it all works: the messy implementation details 386
summary 405
chapter 9 windowing 407
the structure of a windows application 407
cwindow 41o
cwindowlmpl 416
cdialoglmpl 452
windows control wrappers 462
ccontainedwindow 468
summary 474
chapter 10 activex controls 475
a review of activex controls 475
the bullseye control requirements 477
creating the initial control using the atl wizard 486
the initial bullseye source files 489
developing the bullseye control step by step 495
summary 538
chapter 11 control containment 539
how controls are contained 539
basic control containment 540
hosting a control in a dialog 573
composite controls 581
html controls 585
atl's control containment limitations 598
summary 599
appendix a c++ templates by example 601
the need for templates 601
template basics 603
a different kind of polymorphism 605
function templates 611
member function templates 612
summary 613
appendix b atl classes and headers 615
index 623
ATL技术内幕 /
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
