Essential COM

Front Cover
Addison-Wesley Professional, 1998 - Computers - 440 pages

"Don Box makes it possible for mere mortals to join the COM cognoscenti. If youire a C++ COM programmer, buy this book." -David Chappell, Principal, Chappell & Associates and author of Understanding ActiveX and OLE

Written by a leading COM authority, this unique book reveals the essence of COM, helping developers to truly understand the why, not just the how, of COM. Understanding the motivation for the design of COM and its distributed aspects is critical for developers who wish to go beyond simplistic applications of COM and become truly effective COM programmers. As the COM programming model continues to evolve, such insight also becomes essential to remaining current with extensions, such as Microsoft Transaction Server and COM+. By showing you why Distributed COM works as it does, Don Box enables you to apply the model creatively and effectively to everyday programming problems.

This book examines COM from the perspective of a C++ developer, offering a familiar frame of reference to ease you into the topic. You will also find comprehensive coverage of the core concepts of Distributed COM (interfaces, classes, apartments, and applications), including detailed descriptions of COM theory, the C++ language mapping, COM IDL (Interface Definition Language), the remoting architecture, IUnknown, monikers, threads, marshalers, security, and more. In addition, the book offers a thorough explanation of COMis basic vocabulary, provides a complete Distributed COM application to illustrate programming techniques, and includes the authoris tested library of COM utility code.

0201634465B04062001

 

What people are saying - Write a review

User ratings

5 stars
7
4 stars
0
3 stars
0
2 stars
0
1 star
0

User Review - Flag as inappropriate

I'm posting this to let you know where to get the source code .
The link in the book is quite dead. However, if you plug the URL into The Wayback Machine at <http://archive.org> you can get it
there. There's also an Errata and some other bits and pieces.
As at 23 June 2013, I'm rereading the book because COM has come up in a project I've been asked to maintain. (Will VB6 ever die?). I can't believe I used to teach this stuff! This has always been the best introduction to COM. Reading it will also give you some real insights into the C++ object model and such religious principles as separating interfaces and implementations.
 

Selected pages

Contents

COM as a Better C++
1
Software Distribution and C++
2
Dynamic Linking and C++
5
C++ and Portability
6
Encapsulation and C++
7
Separating Interface from Implementation
11
Abstract Bases as Binary Interfaces
14
Runtime Polymorphism
21
Querylnterface Is Symmetric
157
Querylnterface Is Transitive
159
Querylnterface Is Reflexive
160
Objects Have Static Type
163
Querylnterface and IUnknown
165
Multiple Interfaces and Method Names
169
Dynamic Composition
179
Binary Composition
185

Object Extensibility
23
Resource Management
31
Where Are We?
34
Interfaces
37
IDL
39
Methods and Results
41
Interfaces and IDL
44
IUnknown
48
Resource Management and IUnknown
53
Type Coercion and IUnknown
57
Implementing IUnknown
61
Using COM Interface Pointers
66
Optimizing QueryInterface
69
Data Types
73
Attributes and Properties
87
Exceptions
88
Where Are We?
94
Classes
95
Class Objects
97
Activation
100
Using the SCM
103
Classes and Servers
107
Generalizations
115
Optimizations
118
Interface and Implementation Again
125
Monikers and Composition
131
Monikers and Persistence
134
Server Lifetime
138
Classes and IDL
141
Class Emulation
145
Component Categories
147
Where Are We?
153
Objects
155
Containment
197
Where Are We?
198
Apartments
199
Objects Interfaces and Apartments
203
CrossApartment Access
206
InProcess Marshaling Helpers
214
Standard Marshaling Architecture
219
Lifecycle Management and Marshaling
236
Custom Marshaling
243
The Free Threaded Marshaler
249
Where Are We?
260
Applications
261
Activation and the SCM
262
Server Lifetime Revisited
267
Application IDs
274
COM and Security
278
Programmatic Security
287
Access Control
297
Token Management
304
Where Are We?
311
Miscellanea
313
Pointers and Memory
317
Arrays
326
Flow Control
345
Dynamic versus Static Invocation
350
Bidirectional Interface Contracts
356
Aliasing in IDL
370
Asynchronous Methods
375
The Evolution of Objects
377
Selected Code Fragments
385
Index
421
Copyright

Other editions - View all

Common terms and phrases

Popular passages

Page iv - Essential XML: Beyond Markup, Don Box, Aaron Skonnard, and John Lam, 0201709147 Programming Windows Security, Keith Brown, 0201604426 Advanced Visual Basic 6:

About the author (1998)

Don Box is a leading educator, recognized authority on the Component Object Model (COM), coauthor of the Simple Object Access Protocol (SOAP) specification, and coiner of the term "COM is Love." He recently joined Microsoft as an architect in the Microsoft® .NET Developer and Platform Evangelism Group.

Earlier in his career, Box cofounded DevelopMentor Inc., a component software think tank aimed at educating developers on the use of the COM, Java, and XML. A popular public speaker, Box is known for engaging audiences around the world, combining deep technical insight with often outrageous stunts.



0201634465AB06132002

Bibliographic information