Overview of COM and Automation Objects

This section provides a brief overview of:

COM Objects

The Component Object Model (COM) provides mechanisms for creating reusable software components. COM is an object-based programming model designed to promote software interoperability; that is, to allow two or more applications or components to easily cooperate with one another, even if they were written by different vendors at different times, in different programming languages, or if they are running on different machines running different operating systems.

With COM, components interact with each other and with the system through collections of function calls, also known as methods or member functions or requests, called interfaces. An interface is a semantically related set of member functions. The interface as a whole represents a feature of an object. The member functions of an interface represent the operations that make up the feature. In general, an object can support multiple interfaces and you can use COMQueryInterface to get a pointer to any of them.

The Visual Fortran COM routines provide a Fortran interface to basic COM functions.

Automation Objects

The capabilities of an Automation object resemble those of a COM object. An Automation object is in fact a COM object that implements the interface IDispatch. An Automation object exposes:

The Visual Fortran AUTO routines provide a Fortran interface to invoking an automation object's methods and setting and getting its properties.

Object Servers

COM and Automation objects are made available to users by COM and Automation servers. A COM or Automation server can be implemented either as: