The COleDispatchDriver Technique

Now that we have the user interface for the OCRClient application, let’s learn the first technique to communicate with a distributed component: the COleDispatchDriver technique. This technique maps to the TypeLib button of the OCRClient dialog application.

Before we start, let’s first say a few things to recap what we know about type libraries. A type library is a binary file that contains detailed type information of COM classes that are supported by a piece of deployable code called a component. A type library is not a component; it simply contains metadata for interfaces and objects within a component. Although not a component, a type library can be bounded into a component similar to the way a resource can be bounded, so don’t be surprised to see type information in a DLL, an OCX, or an EXE.

Type libraries are built from IDL files by using the library keyword. A type library typically contains, in a nutshell, a library that includes a number of COM classes, each of which may support a number of COM interfaces. In turn, each of these interfaces may have a number of properties and methods. The library, classes, and interfaces are all unique, because they are all tagged with a GUID.

Since type libraries store detailed type information for COM components, a simple tool can easily use type libraries to dynamically discover the definitions for all supported objects and interfaces. The MFC ClassWizard, which is an integrated part of Visual C++, is capable ...

Get Learning DCOM now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.