Home
Photos
Links
SED Editor
TypeLib Browser
Data Access
COM
WebBrowser
WMI
MAPI
GDI+
DirectX
Scripting
VB6 ActiveX
Other ActiveX
Other Wrappers

COM (Component Object Model)

The Microsoft Component Object Model (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), ActiveX® (Internet-enabled components), as well as others.

To understand COM (and therefore all COM-based technologies), it is crucial to understand that it is not an object-oriented language but a standard. Nor does COM specify how an application should be structured; language, structure, and implementation details are left to the application programmer. Rather, COM specifies an object model and programming requirements that enable COM objects (also called COM components, or sometimes simply objects) to interact with other objects. These objects can be within a single process, in other processes, and can even be on remote machines. They can have been written in other languages, and they may be structurally quite dissimilar, which is why COM is referred to as a binary standard—a standard that applies after a program has been translated to binary machine code.

The only language requirement for COM is that code is generated in a language that can create structures of pointers and, either explicitly or implicitly, call functions through pointers. Object-oriented languages such as Microsoft® Visual C++® and Smalltalk provide programming mechanisms that simplify the implementation of COM objects, but languages such as C, Pascal, Ada, Java, and even BASIC programming environments can create and use COM objects.

COM defines the essential nature of a COM object. In general, a software object is made up of a set of data and the functions that manipulate the data. A COM object is one in which access to an object's data is achieved exclusively through one or more sets of related functions. These function sets are called interfaces, and the functions of an interface are called methods. Further, COM requires that the only way to gain access to the methods of an interface is through a pointer to the interface.

Besides specifying the basic binary object standard, COM defines certain basic interfaces that provide functions common to all COM-based technologies, and it provides a small number of API functions that all components require. COM also defines how objects work together over a distributed environment and has added security features to help provide system and component integrity.

Guide (COM Fundamentals)

Copyright © 2005 Microsoft Corporation. All rights reserved.

 

 

COM Fundamentals

 

This section describes the interfaces, functions, structures, and enumerations that the Component Object Model (COM) provides.

 

Documentation: COM Fundamentals

 

 

OLE and Data Transfer

 

This section describes the interfaces, structures, enumerations and functions that the Component Object Model provides to implement compound documents and perform data transfer between applications.

 

Documentation: OLE and Data Transfer

 

 

Controls and Property Pages

 

This section describes the APIs for creating standard COM objects and property pages.

 

Documentation: Controls and Property Pages

 

 

Automation

 

Automation (formerly called OLE Automation) is a technology that allows software packages to expose their unique features to scripting tools and other applications.

 

Documentation: Automation Programming Reference

 

 

Windows Shell

 

The Microsoft® Windows® user interface (UI) provides users with access to a wide variety of objects necessary for running applications and managing the operating system. The most numerous and familiar of these objects are the folders and files that reside on computer disk drives. There are also a number of virtual objects that allow the user to do tasks such as sending files to remote printers or accessing the Recycle Bin. The Shell organizes these objects into a hierarchical namespace, and provides users and applications with a consistent and efficient way to access and manage objects.

 

Documentation: Windows Shell

 

 

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.

 

The purpose of Structured Storage is to reduce the performance penalties and overhead associated with storing separate objects in a single file. Structured Storage provides a solution by defining how to handle a single file entity as a structured collection of two types of objects—storages and streams—through a standard implementation called Compound Files. This enables the user to interact with, and manage, a compound file as if it were a single file rather than a nested hierarchy of separate objects.

 

Documentation: Structured Storage

 

 

COM Objects for the Internet

 

This section contains reference information for COM Objects for the Internet.

 

Documentation: COM Objects for the Internet

 

 

Win32 and COM Development

 

This section contains reference information for developing with Win32 and COM.

  • Administration and Management

  • Component development

  • Graphics and Multimedia

    • Audio and Video

      • DirectShow

      • Windows Media Services

      • Windows Media Encoder

      • Windows Media Player

      • Windows Media Format

      • Windows Media Rights Manager

      • Windows Media Device Manager

      • Windows Media Connect Content Directory Service

      • Windows Media Audio and Video Codec Inetrafaces

    • Direct X

    • Windows Image Adquisition

    • Windows Multimedia

  • Messaging and Collaboration

  • Networking

    • Background Intelligent Transfer Service (BITS)

    • Fax Service

    • Message Queueing (MSMQ)

    • Telephony Application Programming Interfaces (TAPI)

    • Universal Plug and Play (UpnP)

    • Windows HTTP Services (WinHTTP)

  • System Services

  • User Interface

    • Accessibility

    • Microsoft Agent

    • Speech API (SAPI)

    • Text Services Framework

  • XML

Documentation: Win32 and COM Development

 

Home Photos Links SED Editor TypeLib Browser Data Access COM WebBrowser WMI MAPI GDI+ DirectX Scripting VB6 ActiveX Other ActiveX Other Wrappers

Page last updated on Sunday, 02 July 2006 01:19:51 +0200