Publisher: Microsoft

Version: 6
Length: 5 day s
Course-ID: 079928

Course Overview

Students will learn how to develop advanced applications and distributed applications using Visual C++ and the Microsoft Component Object Model (COM). This course meets the Microsoft Proficiency Guidelines for Visual C++ 6.0 at the Expert level.

Prerequisites

To gain the most from this course, the student should be able to Use the Windows user interface Preferably use the user interface of the Visual C++ 6.0 integrated development environment Use the basic features of the C++ programming language

Target Student

Visual Basic, C++, and Java programmers with at least one year of practical experience who want to learn C# programming.


Introduction to COM
  • Introduction to COM
  • Addressing Component Software Development Issues with COM
  • Separating Interface Definition from its Implementation
  • Understanding COM Objects and VTBLs
  • When COM Should Be Used
COM Clients
  • Registering a COM Component
  • Initializing and De-initializing COM Libraries
  • Creating Instances of COM Objects
  • The Methods of IUnknown and IClassFactory
  • Using Smart Pointers to Access COM Interfaces
  • Understanding COM Error Handling
  • Understanding the COM String Data Type
  • In-process COM Servers
Interface Definition Language, Marshaling,and Type Libraries
  • Defining Interfaces Using IDL
  • Apartments and Marshaling
  • Type Libraries
Out-of-process COM Servers
  • Building an EXE Server The Low-level Approach
  • Building an EXE COM Server The ATL Approach
Using Types in C#
  • Automation and the IDispatch Interface
  • Dual Interfaces and ATL Automation Server Support
  • Implementing Automation Servers Using MFC
  • Implementing Automation Object Models UsingCollections
ActiveX Controls and Connection Points
  • Understanding ActiveX Controls and Related Concepts
  • Implementing ActiveX Controls with ATL
  • Using ActiveX Controls in Containers
  • COM Code Reuse Techniques
COM Threading Models
  • Thread Re-entrance and Apartments
  • Comparing Free- and Both-threading Models
Distributed COM Applications
  • Distributed COM (DCOM)