Software Skills Training, Inc.
978-250-4983
Catalog Course Schedules In House Training Registration Student Feedback
Cost Effective Training Solutions



Register Now

Discount Programs

Building Component Software Using COM/DCOM


Price: Contact SST for pricing  |  Duration: 5 days

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

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.

Overview of Component Development
  • What is a Component?
  • COM/DCOM Architecture
  • Interfaces, GUIDs and the Registry
  • Location Transparency
  • IDL/MIDL
  • Class Factories
  • Marshaling
  • Automation
Programming with COM
  • HRESULTs
  • Initializing COM
  • Implementing COM Servers
  • Interfaces
    • IUNKNOWN
    • Common Microsoft Interfaces
    • Custom Interfaces
    • Dual Interfaces
  • Generating GUIDS
  • Self-Registering Components
  • Class Factories
  • Memory Management
  • Implementing COM Clients
  • CoCreateInstance
  • CoGetClassObject
  • Managing interface Pointers
  • Handling Errors
  • Component Reuse
  • Containment & Aggregation
Using MFC to build COM Clients and Servers
  • MFC Overview
  • COM Support using AppWizard
  • CCmdTraget
  • INTERFACE Map
  • Adding Data Members and Methods
  • Using Nested Classes
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
Multithreaded Servers
  • COM Threads
  • Implementing Apartment Threading
  • Implementing Free Threading
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++, VB and Java Automation Issues
  • Handling Automation Errors
  • Implementing Automation Servers
  • Using ATL
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