Building Component Software Using COM/DCOM

Duration: 5 days | Price: Contact a Career Consultant for pricing

Students Will Learn:
  • COM/DCOM Software Model
  • Using Interfaces
  • Class Factories
  • Building ActiveX Controls
  • Building COM Clients and Servers
  • MFC vs. ATL
  • Using Automation
  • Programming with DCOM

Description: This hands on COM/DCOM training course introduces the student to the fundamental concepts of building reusable software components and applications using COM and DCOM. Students initially build server components and client applications using low-level COM techniques in order to thoroughly understand the principles involved. Subsequently they learn to employ ATL and MFC to build more sophisticated programs. Topics covered in detail include: creating COM components using ATL and deploying them in client applications; building automation-based server applications that provide components to other applications; creating and using ActiveX controls; and component support for multithreading. Students are then introduced to the problems of distributing components across a network. The fundamentals of DCOM and mechanisms for dealing with the security issues of distributed components are introduced.

Prerequisites: Knowledge of C++. Basic knowledge of Windows. Minimal experience with MFC is helpful but not required.

Building Component Software Using COM/DCOM Course Overview:

Overview of Component Development
  • What is a Component?
  • COM/DCOM Architecture
  • Interfaces, GUIDs and the Registry
  • Location Transparency
  • IDL/MIDL
  • Class Factories
  • Marshaling
  • Automation
  • COM Threads
  Programming with COM
  • HRESULTs
  • Generating GUIDS
  • Interfaces
    • IUNKNOWN
    • Common Microsoft Interfaces
    • Custom Interfaces
    • Dual Interfaces
  • Initializing COM
  • Implementing COM Servers
  • Self-Registering Components
  • Class Factories
  • Using COM Strings 
  • Memory Management
  • Implementing COM Clients
  • CoCreateInstance
  • CoGetClassObject
  • Managing Interface Pointers
  • Handling Errors
  • Implementing Multiple Interfaces
    • Multiple Inheitance
    • Nested Classes
  • Component Reuse
  • Containment & Aggregation
    • Containment & Aggregation
Building and Using ActiveX Controls
  • ActiveX Control Fundamental Concepts
  • Using ActiveX Controls
    • Installing and Registering
    • Building Dialogs Containing ActiveX Controls
    • Using ActiveX Controls in a Web Page
  • ActiveX Control Architecture
  • Properties
    • Custom Properties
    • Ambient Properties
    • Stock Properties
    • Property Persistence
  • Events
  • Tools for Bbuilding & Testing ActiveX Controls
  • Building ActiveX Controls
  • Using ATLs Wizard
  Using Automation
  • Automation Concepts
  • IDISPATCH
  • Automation Data Types
  • Type Libraries
  • Dual Interfaces
  • C++ and VB Automation Issues
  • Handling Automation Errors
  • Implementing Automation Servers
Using ATL to create COM Clients and Servers
  • ATL Overview
  • CComObjectRootEx and CComObject
  • COM Support using the ATL COM AppWizard
  • Using the ATL Object Wizard
  • Adding Data Members and Methods
  • COM and OBJECT Maps
  • Interacting with the Type Library
  • Smart Pointers
  Programming with DCOM
  • DCOM Fundamentals
  • RPC
  • Object Lifetimes
  • Registry Entries
  • Surrogates
  • Review of IDL / MIDL
  • Security
  • Building a DCOM Server
  • Building a DCOM Client
  • Testing on a Local Machine

Student Testimonials

"Great lab exercises, that really helped to increase my working knowledge of COM. The instructor was very knowledgeable of the course material and was a good presenter."
– K. A., Avaya


"Great class. I highly recommend HOTT for training. I have taken 2 classes from HOTT and have been very pleased with the two classes, the information covered, the knowledge of the teacher and the class materials."
– S.W., Intergraph


"Dollar for dollar, the best money we have spent to date on our project."
– A.E., President, National Bureau of Affairs


Hands On Technology Transfer, Inc.
1 Village Square, Suite 8
14 Fletcher Street
Chelmsford, MA 01824
1-800-413-0939 | 1-978-250-4299

Copyright© 2008 Hands On Technology Transfer, Inc.