Component Object Model Specification
Draft Version 0.9
October 24, 1995
Microsoft Corporation and Digital Equipment Corporation
Component Object Model (COM) is an architecture and supporting infrastructure for building, using, and evolving component software in a robust manner.
The
Component Object Model Specification
contains the standard APIs supported by the COM Library, the standard suites of interfaces supported or used by software written in a COM environment, along with the network protocols used by COM in support of distributed computing. This specification is still in draft form, and thus subject to change.
This specification is divided into five parts, each of which contains one or more chapters.
Part I, Chapter 1, and Part II, Chapter 2 are available in HTML format:
- Part I: Component Object Model Introduction. This section provides an overview and introduction. Chapter 1, the only chapter in Part I, explains at a high level the motivations of COM and the problems it addresses. It describes what COM is and its features, and describes the major benefits and advantages of COM. All readers should be interested in this chapter.
- Part II: Component Object Model Programming Interface. This section of the spec contains the programming interface to COM, the suite of interfaces and APIs by which Component Object Model software is implemented and used. Chapter 2 describes more about COM features and mechanisms without getting into the details of function call specifications and code. The chapter is intended for technical readers who want to know more than simply what COM is and what problems it solves, and therefore delves deeper into how applications use COM and the benefits of such use.
The remaining chapters in Part II, and Parts III through V are available in Microsoft Word and PostScript formats (see download buttons below).
- In Part II, Chapters 3-6 contain programming-level information for readers who are interested in actually making use of COM in an application. Chapter 7 contains more detailed information about how COM clients and servers communicate with objects. Chapter 8 contains information on how communications between COM clients and severs can be made secure.
- Part III (Chapters 9-12) provides the functional specifications for the extended features of COM, including storage, naming, and exchange of data. These added features are built on top of the core COM functionality described in the previous chapters.
- Part IV specifies standards relating to tools used to assist the authorship of COM software.
- Finally, Part V specifies information needed by programmers who will be implementing COM on other platforms--that is, the programmer who will be implementing COM on a systems level rather than an application level.
For ease of online reading and printing, we've provided copies of the complete spec in Microsoft Word and PostScript formats. Click the buttons below to download these files.
Download the Component Object Model Specification in Microsoft Word format (zipped, 537K). Each chapter exists as a separate Word 6.0 document. The filenames for each document reflect the contents of that chapter (for example, "CH08 Security.doc"). The file "The COM Specification.DOC" is a Word 6.0 master document that holds all of the individual chapters together as well as provides the title page, table of contents, and appendix.
Download the Component Object Model Specification in PostScript format (zipped, 2.69MB). This download consists of a single file, "COM_Spec.PS", in portable PostScript format.
You may also wish to review the draft specification Inserting Multimedia Objects into HTML3 in W3C Tech Reports on http://www.w3.org/pub/WWW/TR
. This spec extends HTML to support the insertion of multimedia objects, including Java applets, Microsoft Component Model (COM) objects (for example, OLE Controls and OLE Document embeddings), and a wide range of other media plug-ins. The approach allows objects to be specified in a general manner and provides the ability to override the default implementation of objects.