
Essential COM
Don Box(Author)
Addison Wesley (Publisher)
Published on 9. February 1998
Book
Paperback/Softback
464 pages
978-0-201-63446-4 (ISBN)
Description
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, and to stay current with extensions, such as Microsoft Transaction Server and COM+. Box examines COM from the perspective of a C++ developer, offering a familiar frame of reference to ease you into the topic.
More details
Language
English
Place of publication
Boston
United States
Publishing group
Pearson Education (US)
Target group
College/higher education
Dimensions
Height: 189 mm
Width: 234 mm
Thickness: 27 mm
Weight
776 gr
ISBN-13
978-0-201-63446-4 (9780201634464)
Schweitzer Classification
Person
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 (R) .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
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
Content
Foreword by Charlie Kindel.
Foreword by Grady Booch.
Preface.
1. COM as a Better C++.
Software Distribution and C++.
Dynamic Linking and C++.
C++ and Portability.
Encapsulation and C++.
Separating Interface from Implementation.
Abstract Bases as Binary Interfaces.
Runtime Polymorphism.
Object Extensibility.
Resource Management.
Where Are We?
2. Interfaces.
Interfaces and Implementations Revisited.
IDL.
Methods and Results.
Interfaces and IDL.
Iunknown.
Resource Management and Iunknown.
Type Coercion and Iunknown.
Implementing Iunknown.
Using COM Interface Pointers.
Optimizing QueryInterface.
Data Types.
Attributes and Properties.
Exceptions.
Where Are We?
3. Classes.
Interface and Implementation.
Class Objects.
Activation.
Using the SCM.
Classes and Servers.
Generalizations.
Optimizations.
Interface and Implementation Again.
Monikers and Composition.
Monikers and Persistence.
Server Lifetime.
Classes and IDL.
Class Emulation.
Competent Categories.
Where Are We?
4. Objects.
IUnknown Revisited.
QueryInterface Is Symmetric.
QueryInterface Is Transitive.
QueryInterface Is Reflexive.
Objects Have Static Type.
QueryInterface and Iunknown.
Uniqueness and Identity.
Multiple Interfaces and Method Names.
Dynamic Composition.
Binary Composition.
Containment.
Where Are We?
5. Apartments.
Interface and Implementation Revisited.
Objects, Interfaces, and Apartments.
Cross-Apartment Access.
In-Process Marshaling Helpers.
Standard Marshaling Architecture.
Lifecycle Managing and Marshaling.
Custom Marshaling.
The Free Threaded Marshaler.
Where Are We?
6. Applications.
In-Process Activation Pitfalls.
Activation and the SCM.
Server Lifetime Revisited.
Application Ids.
COM and Security.
Programmatic Security.
Access Control.
Token Management.
Where Are We?
7. Miscellanea.
Pointer Basics.
Pointers and Memory.
Arrays.
Flow Control.
Dynamic versus Static Invocation.
Bidirectional Interface Contracts.
Aliasing in IDL.
Asynchronous Methods.
Where Are We?
Appendix A. The Evolution of Objects.
Appendix B. Selected Code Fragments.
Index. 0201634465T04062001
Foreword by Grady Booch.
Preface.
1. COM as a Better C++.
Software Distribution and C++.
Dynamic Linking and C++.
C++ and Portability.
Encapsulation and C++.
Separating Interface from Implementation.
Abstract Bases as Binary Interfaces.
Runtime Polymorphism.
Object Extensibility.
Resource Management.
Where Are We?
2. Interfaces.
Interfaces and Implementations Revisited.
IDL.
Methods and Results.
Interfaces and IDL.
Iunknown.
Resource Management and Iunknown.
Type Coercion and Iunknown.
Implementing Iunknown.
Using COM Interface Pointers.
Optimizing QueryInterface.
Data Types.
Attributes and Properties.
Exceptions.
Where Are We?
3. Classes.
Interface and Implementation.
Class Objects.
Activation.
Using the SCM.
Classes and Servers.
Generalizations.
Optimizations.
Interface and Implementation Again.
Monikers and Composition.
Monikers and Persistence.
Server Lifetime.
Classes and IDL.
Class Emulation.
Competent Categories.
Where Are We?
4. Objects.
IUnknown Revisited.
QueryInterface Is Symmetric.
QueryInterface Is Transitive.
QueryInterface Is Reflexive.
Objects Have Static Type.
QueryInterface and Iunknown.
Uniqueness and Identity.
Multiple Interfaces and Method Names.
Dynamic Composition.
Binary Composition.
Containment.
Where Are We?
5. Apartments.
Interface and Implementation Revisited.
Objects, Interfaces, and Apartments.
Cross-Apartment Access.
In-Process Marshaling Helpers.
Standard Marshaling Architecture.
Lifecycle Managing and Marshaling.
Custom Marshaling.
The Free Threaded Marshaler.
Where Are We?
6. Applications.
In-Process Activation Pitfalls.
Activation and the SCM.
Server Lifetime Revisited.
Application Ids.
COM and Security.
Programmatic Security.
Access Control.
Token Management.
Where Are We?
7. Miscellanea.
Pointer Basics.
Pointers and Memory.
Arrays.
Flow Control.
Dynamic versus Static Invocation.
Bidirectional Interface Contracts.
Aliasing in IDL.
Asynchronous Methods.
Where Are We?
Appendix A. The Evolution of Objects.
Appendix B. Selected Code Fragments.
Index. 0201634465T04062001