CSE775 - Distributed Objects
Lecture #10 - Out-of-Proc Components and Activation
Revised: 10 February 2008
Web Resources:
Code Project
Win32, COM, MFC
DevelopMentor
Windows Developer's Journal
Windows Forms
GotDotNet
C# Corner
IDL and WDSL
COM at MSDN
IDL Language
base MIDL types
OLE data types
IDL attributes
MIDL data types
MIDL Language Reference
conversion functions
Content:
This lecture is concerned with Out-of-Process COM components and their activation.
-
Syllabus
Describes topics to be covered,
reading material for you to digest before coming to class, and due dates
for the assigned projects.
-
Projects for your pleasure and pain (no gain without pain):
Project #1 - Win32 Windows Communication
Project #2 - Communication Components
-
Out-of-Process Components
Discusses the structure and activation of Out-of-Process components.
-
OutProcST Project - SingleThreaded Server
Demonstrates how Out-of-Process Single-Threaded Server is structured. Uses Windows message loop.
-
OutProcMT Project - MultiThreaded Server
Demonstrates how Out-of-Process Multi-Threaded Server is structured. Uses Win32 events.
-
Apartments and Threading
Introduces the notion of apartments and their use to manage COM components that many not share the same
thread model with their clients.
-
Threading Rules
-
Component Calls Component
This document discusses briefly building a workspace with a client that calls a component that, in turn, calls
another component.
-
ComponentCallsComponent Project
This project provides all the code used to generate screen shots for the presentation in the previous item.
The code provides brief, but useful, examples of the CComQIPtr and CComBSTR classes. I believe this is
the best way to build a client for components built with ATL.
-
Lecture #6 folder
Contains a page of links to
presentations and code discussed in this class. The Lecture folders will occasionally
hold physical files of interest as well. Usually, however, all the materials
of interest to the class are in the presentations
and code folders. The contents of these folders will grow
as you progress through the course.