Component Object Model (COM)

Purpose

COM is a platform-independent, distributed, object-oriented system for creating binary software components that can interact. COM is the foundation technology for Microsoft's OLE (compound documents) and ActiveX (Internet-enabled components) technologies.

Where applicable

COM objects can be created with a variety of programming languages. Object-oriented languages, such as C++, provide programming mechanisms that simplify the implementation of COM objects. These objects can be within a single process, in other processes, even on remote computers.

Run-time requirements

For information on which operating systems are required to use a particular interface or function, see the Requirements section of the documentation for the interface or function.

In this section

Topic Description
COM Fundamentals
Describes the fundamental concepts and programming reference.
OLE and Data Transfer
Describes compound documents and data transfer.
Controls and Property Pages
Describes ActiveX controls and property pages.
COM Language Translations
Describes the differences between programming languages and describe how to translate COM object syntax from one language to another.
Topic Description
COM Fundamentals
Describes the fundamental concepts and programming reference.
OLE and Data Transfer
Describes compound documents and data transfer.
Controls and Property Pages
Describes ActiveX controls and property pages.
COM Language Translations
Describes the differences between programming languages and describe how to translate COM object syntax from one language to another.
Topic Description
Component Object Model (COM)
COM is a platform-independent, distributed, object-oriented system for creating binary software components that can interact. COM is the foundation technology for Microsoft's OLE (compound documents) and ActiveX (Internet-enabled components) technologies.
Automation
Automation enables software packages to expose their unique features to scripting tools and other applications. Automation uses the Component Object Model (COM), but may be implemented independently from other OLE features, such as in-place activation.
Microsoft Interface Definition Language (MIDL)
The Microsoft Interface Definition Language (MIDL) defines interfaces between client and server programs. Microsoft includes the MIDL compiler with the Platform Software Development Kit (SDK) to enable developers to create the interface definition language (IDL) files and application configuration files (ACF) required for remote procedure call (RPC) interfaces and COM/DCOM interfaces. MIDL also supports the generation of type libraries for OLE Automation.
Structured Storage
Structured Storage provides file and data persistence in COM by handling a single file as a structured collection of objects known as storages and streams.
COM+
COM+ is an evolution of Microsoft Component Object Model (COM) and Microsoft Transaction Server (MTS). COM+ builds on and extends applications written using COM, MTS, and other COM-based technologies.