Introduction
This five-day course
will teach programmers how to build component-based solutions using the
Component Object Model (COM), the Active Template Library 3.0 (ATL), and
Microsoft® Visual C++® version 6.0.
At
Course Completion
At the end of the course, students will be able to:
- Use
COM to address component-based software development issues.
- Build
clients of COM objects.
- Build
COM object servers.
- Create
ActiveX controls.
- Use
Visual C++ extensions to create clients of COM objects.
- Build
COM objects that reuse existing COM objects.
- Add
events to COM objects and clients.
- Create
COM objects with dual interfaces.
Microsoft
Certified Professional Exams
This
course will help the student prepare for the following Microsoft Certified
Professional exam:
Prerequisites
Before beginning
this course, students should be able to:
- Describe
and use the following C++ fundamentals:
- Constructors
and destructors
- Virtual
function
- Conversion
functions
- Function
overloading
- Operator
overloading
- Accessors
- Single
and multiple inheritance
- Templates
- Use
the Windows® environment and use the Visual Studio® integrated development
environment.
The
course materials, lectures, and lab exercises are in English. To benefit
fully from the instruction, students need an understanding of the English
language and completion of the prerequisites.
Course
Materials and Software
The course
workbook and lab book are yours to keep.
You will be provided with the following software for use in the classroom:
- Microsoft
Windows 98, or Windows NT® Workstation version 4.0, Service Pack 3 or
later
- Microsoft
Visual C++ 6.0
- Microsoft
Visual Basic® version 6.0, typical installation
- MSDN
Library Visual Studio version 6.0
- Component
Development Using the Active Template Library version 3.0, complete
installation
- Internet
Explorer version 4.0 or later (recommended for connection to the World
Wide Web through URL links provided in the product)
Course
Outline
Day
1
Module
1: Introduction to COM
Topics
Overview of COM
Creating a client of a COM object
How COM uses strings
Lab
Creating a client
of a COM object
Skills
Students
will be able to:
- List
the major goals of COM.
- List
the steps for creating a client of a COM object.
- Explain
the significance of the CLSID and ProgID of a COM object.
- Create
a client of a COM object.
- Explain
how data is exchanged between a COM server and a COM client.
Module
2: Creating a COM Object
Topics
Introduction to
COM interface
The IUnknown interface
Creating a COM object
Creating a COM object server
Registering a COM object server
Lab
Creating
a COM object
Skills
Students
will be able to:
- Explain
the concept of immutability in relation to interfaces.
- Explain,
use, and generate a GUID (globally unique identifier).
- Describe
the purpose and functionality of the IUnknown interface.
- Explain
reference counting and its implications.
- Create
a COM object.
- Create
a COM object server.
- Register
a COM object server.
Module
3: Implementing Multiple Interfaces
Topics
Overview
of multiple interfaces
Implementing multiple interfaces by using multiple inheritance
Implementing multiple interfaces by using embedding
Lab
Implementing
multiple interfaces
Skills
Students
will be able to:
- Use
multiple inheritance to implement COM objects with multiple interfaces.
- Use
embedding to implement COM objects with multiple interfaces.
Day
2
Module
4: Introduction to ATL
Topics
Overview
of ATL
Creating a COM object server by using ATL Wizards
Adding an interface to an ATL COM object
Registering an ATL COM object
Creating a client by using C++ extensions
Lab
Introduction to
ATL
Skills
Students
will be able to:
- Explain
the benefits of using ATL to create COM objects and object servers.
- Use
the ATL COM AppWizard to create a COM object server.
- Use
the ATL Object Wizard to add a simple COM object with a custom interface
to ATL COM object server.
- Use
Visual C++ extensions to create a client of a COM object.
- Explain
the significance of each of the following in an ATL COM project:
- COM
map
- Object
map
- CComModule
- CComObjectRoot
- CComCoClass
Module
5: Automation
Topics
Introduction to
Automation
Features of an Automation object
Implementing Automation by using Dispatch Interfaces
Using structures in Automation
Creating a client of an Automation object
Skills
Students will be able to:
- Explain
the benefits of Automation.
- Compare
the methods and properties of an Automation object to the behaviors
and attributes of a class.
- Implement
Automation for a COM object.
- Use
structures with Automation objects.
- Create
a client application for an Automation object.
Module
6: Dual Interfaces
Topics
Introduction to
dual interfaces
Creating a dual interface using ATL
Creating a client for a COM object with dual interface
Creating multiple dual interfaces
Lab
Implementing
dual interfaces
Skills
Students
will be able to:
- Describe
the need for dual interfaces.
- Explain
the benefits and limitations of creating dual interfaces.
- Create
a COM object with dual interface using ATL.
- Create
a client for a COM object with a dual interface.
- Implement
multiple dual interfaces.
Day
3
Module
7: Handling Events
Topics
Overview
of events
Firing events using a dispinterface
Receiving events fired using a dispinterface
Firing events using a custom interface
Receiving events fired using a custom interface
Creating a sink at runtime
Lab
Adding
events
Skills
Students
will be able to:
- Explain
how events work in COM from a server and client perspective.
- Enable
a COM object to fire events using dispinterfaces and custom interfaces.
- Create
clients in Visual Basic C++ that can receive events from a COM object.
Day
4
Module
8: Creating Controls Using ATL
Topics
Overview
of controls
Adding properties to a control
Implementing the container
Working with controls
Lab
Creating
an ATL control
Skills
Students
will be able to:
- List
the types of controls supported by ATL.
- Create
a control using the ATL Object Wizard.
- Add
methods and properties to a control and implement them.
- Modify
the OnDraw method to draw graphical output for a control.
- Register
and license a control.
Module
9: Reusing COM Objects
Topics
Reusing source code
Reuse options available in COM
Implementing aggregation
Implementing containment
Implementing a tear-off interface
Lab
Object
reuse in COM
Skills
Students
will be able to:
- Design
a COM containment and COM aggregation.
- Implement
containment and aggregation to reuse COM objects.
- Create
a tear-off interface.
Module
10: Custom Interfaces
Topics
Introduction to
custom interfaces
Location of the COM server
Introduction to marshaling
Remoting efficiency
Lab
Custom
interfaces
Skills
Students
will be able to:
- List
the advantages and disadvantages of using custom interfaces.
- Create
a custom interface using ATL.
- List
the techniques available for improving memory usage and performance
of a remote COM server.
- Explain
the standard and custom marshaling techniques.
Day
5
Module
11: Threading Models
Topics
Single-threaded
applications
Apartment models
Registering the threading model
Lab
Threading
models
Skills
Students
will be able to:
- Describe
the limitations of single-threaded applications.
- Explain
the differences between single-threaded apartment model, multi-threaded
apartment model, and mixed threading model.
- Explain
how mixed threading models can cause marshaling issues.
- Register
a threading model.
Module
12: Collections
Topics
Overview of collections
Creating a collection
Implementing a collection
Using a collection
Lab
Collections
Skills
Students
will be able to:
- Explain
the role of enumerators in using a collection.
- Create
and implement a collection.
- Write
client-side code to use a collection.
For more
information or to give feedback, send e-mail to info@GuideToLearn.com or call
714.809.2719 |