
The Essence of COM
A Programmer's Workbook
David S. Platt(Author)
Prentice Hall (Publisher)
3rd Edition
Published on 22. May 2000
Book
Mixed media product
352 pages
978-0-13-016581-7 (ISBN)
Description
Windows programmers need an in-depth understanding of ActiveX and COM, the fundamental Windows technologies for Web and distributed systems development. This convenient workbook makes COM and ActiveX easy to understand, and comfortable to use. The new edition has been updated with 200 pages of brand-new coverage, including Visual C++ 6, Visual J++ 6, IDL, and much more! Walk step-by-step through COM and ActiveX fundamentals and programming techniques. Learn how to source data objects; use Automation (formerly OLE Automation); work with type libraries, and work with ActiveX controls and containers. Next, learn about structured storage, reusable custom monikers, and custom interfaces. The book includes detailed coverage of DCOM and Internet development. There are also brand-new chapters on ATL 3.0 and Windows 2000 thread-neutral apartment and synchronization. The accompanying CD-ROM contains extensive sample code, recompiled for the latest version of Visual C++. For C++ and Java programmers who want to learn COM/DCOM component development. .
More details
Edition
3rd edition
Language
English
Place of publication
Upper Saddle River
United States
Publishing group
Pearson Education (US)
Target group
College/higher education
Dimensions
Width: 275 mm
Thickness: 22 mm
Weight
957 gr
ISBN-13
978-0-13-016581-7 (9780130165817)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Other editions
Previous edition

Book
12/1997
2nd Edition
Prentice Hall
€49.64
Article exhausted; check for reprint
Person
DAVID S. PLATT is president of Rolling Thunder Computing, a leading consulting firm specializing in COM development. He is an instructor in Computer Science at Harvard University and also teaches COM and COM+ at public seminars and in-house at companies all over the world. He publishes ThunderClap, a quarterly newsletter on COM+ development, available free from his Web site. His column "ActiveXplained" appears bimonthly on Byte.Com.
Content
1. Introduction: Using Objects.
A. Concepts and Definitions. B. Component-Object Model. C. IUnknown Interface. D. GUIDs and UUIDs. E. HRESULTs. F. Using Our First COM Object. G. Writing Our First COM Object. Lab Exercises.
2. Object Servers.
A. Why Provide COM Objects? B. Object Creation from the Client's Perspective. C. Server Registration. D. The Class Factory. E. Server Lifetime. F. In-Proc and Out-of-Proc Servers. Lab Exercises.
3. Custom Interfaces.
A. VTBL Interfaces Versus Dispatch Interfaces. B. Abstract Definition of an Interface. C. Standard Marshaling Via Proxy and Stub. D. Standard Marshaling Via a Type Library. E. Dual Interfaces. F. Multiple Inheritance and Error Handling. Lab Exercises.
4. Automation.
A. Concepts and Definitions. B. Basic Client Functionality. C. Basic Server Functionality. Lab Exercises.
5. Type Libraries.
A. Concepts and Definitions. B. Building Type Libraries. C. Types of Objects Described in Type Libraries. D. Deploying and Registering Type Libraries. E. Reading Type Libraries. Lab Exercises.
6. Threads and COM.
A. Concepts and Definitions. B. Threading Apartments. C. Single-Threaded Apartment Example. D. Multi-Threaded Apartment Example. E. Inter-Apartment Object Marshaling. F. Threading and .EXE Servers. G. ThreadingModel = 'Both'. Lab Exercises.
7. Distributed COM (DCOM).
A. Concepts and Definitions. B. Creating Remote Objects. C. Launch Security. D. Remote Client Identity. E. Call Security and Authentication. F. Performance in DCOM. G. Cool but Cautionary Example: Global Running Object Table. Lab Exercises.
8. Persistent Objects.
A. Concepts and Definitions. B. Using Persistent Objects. C. Implementing Persistent Objects. Lab Exercises.
9. Monikers.
A. Concepts and Definitions. B. Types of Monikers. C. Creating a Moniker. D. Binding a Moniker. E. Writing Your Own Custom Moniker. F. Complex Binding Hierarchies. Lab Exercises.
10. Asynchronous COM.
A. Concepts and Definitions. B. Declaring Asynchronous Interfaces. C. Simplest Asynchronous Example. D. Callbacks for Completion. Lab Exercises.
11. COM Support in Visual C++.
A. Smart Pointers. B. Wrapper Classes Using Type Libraries for C++ Clients. C. BSTR Support. D. ANSI - Unicode Conversion. Lab Exercises.
12. Active Template Library. (ATL).
A. Concepts and Definitions. B. ATL Object Servers. C. ATL Objects. D ATL Object Methods and Properties. E. Internals of ATL Objects. F. Debugging ATL Objects. Lab Exercises.
13. COM Support in Visual Basic.
A. Concepts and Definitions. B. COM Client Support in VB. C. COM Server Support in VB. D. COM Error Handling in VB. E. COM Threading in VB. Lab Exercises.
14. COM Support in Visual Java.
A. Concepts and Definitions. B. Writing COM Clients in Java. C. Creating a COM Server in Java. D. COM Error Handling in Java. E. Using the COM API from Java. F. COM Threading in Java. Lab Exercises.
Appendix: Containment and Aggregation.
Index.
A. Concepts and Definitions. B. Component-Object Model. C. IUnknown Interface. D. GUIDs and UUIDs. E. HRESULTs. F. Using Our First COM Object. G. Writing Our First COM Object. Lab Exercises.
2. Object Servers.
A. Why Provide COM Objects? B. Object Creation from the Client's Perspective. C. Server Registration. D. The Class Factory. E. Server Lifetime. F. In-Proc and Out-of-Proc Servers. Lab Exercises.
3. Custom Interfaces.
A. VTBL Interfaces Versus Dispatch Interfaces. B. Abstract Definition of an Interface. C. Standard Marshaling Via Proxy and Stub. D. Standard Marshaling Via a Type Library. E. Dual Interfaces. F. Multiple Inheritance and Error Handling. Lab Exercises.
4. Automation.
A. Concepts and Definitions. B. Basic Client Functionality. C. Basic Server Functionality. Lab Exercises.
5. Type Libraries.
A. Concepts and Definitions. B. Building Type Libraries. C. Types of Objects Described in Type Libraries. D. Deploying and Registering Type Libraries. E. Reading Type Libraries. Lab Exercises.
6. Threads and COM.
A. Concepts and Definitions. B. Threading Apartments. C. Single-Threaded Apartment Example. D. Multi-Threaded Apartment Example. E. Inter-Apartment Object Marshaling. F. Threading and .EXE Servers. G. ThreadingModel = 'Both'. Lab Exercises.
7. Distributed COM (DCOM).
A. Concepts and Definitions. B. Creating Remote Objects. C. Launch Security. D. Remote Client Identity. E. Call Security and Authentication. F. Performance in DCOM. G. Cool but Cautionary Example: Global Running Object Table. Lab Exercises.
8. Persistent Objects.
A. Concepts and Definitions. B. Using Persistent Objects. C. Implementing Persistent Objects. Lab Exercises.
9. Monikers.
A. Concepts and Definitions. B. Types of Monikers. C. Creating a Moniker. D. Binding a Moniker. E. Writing Your Own Custom Moniker. F. Complex Binding Hierarchies. Lab Exercises.
10. Asynchronous COM.
A. Concepts and Definitions. B. Declaring Asynchronous Interfaces. C. Simplest Asynchronous Example. D. Callbacks for Completion. Lab Exercises.
11. COM Support in Visual C++.
A. Smart Pointers. B. Wrapper Classes Using Type Libraries for C++ Clients. C. BSTR Support. D. ANSI - Unicode Conversion. Lab Exercises.
12. Active Template Library. (ATL).
A. Concepts and Definitions. B. ATL Object Servers. C. ATL Objects. D ATL Object Methods and Properties. E. Internals of ATL Objects. F. Debugging ATL Objects. Lab Exercises.
13. COM Support in Visual Basic.
A. Concepts and Definitions. B. COM Client Support in VB. C. COM Server Support in VB. D. COM Error Handling in VB. E. COM Threading in VB. Lab Exercises.
14. COM Support in Visual Java.
A. Concepts and Definitions. B. Writing COM Clients in Java. C. Creating a COM Server in Java. D. COM Error Handling in Java. E. Using the COM API from Java. F. COM Threading in Java. Lab Exercises.
Appendix: Containment and Aggregation.
Index.