Component Object Model (COM) is a binary-interface standard for software components introduced by Microsoft in 1993. It is used to enable inter-process communication (IPC) object creation in a large range of programming languages. COM is the basis for several other Microsoft technologies and frameworks, including OLE, OLE Automation, Browser Helper Object, ActiveX, COM+, DCOM, the Windows shell, DirectX, UMDF and Windows Runtime.
The essence of COM is a language-neutral way of implementing objects that can be used in environments different from the one in which they were created, even across machine boundaries. For well-authored components, COM allows reuse of objects with no knowledge of their internal implementation, as it forces component implementers to provide well-defined interfaces that are separated from the implementation. The different allocation semantics of languages are accommodated by making objects responsible for their own creation and destruction through reference-counting. Type conversion casting between different interfaces of an object is achieved through the QueryInterface method. The preferred method of "inheritance" within COM is the creation of sub-objects to which method "calls" are delegated.
COM is an interface technology defined and implemented as standard only on Microsoft Windows and Apple's Core Foundation 1.3 and later plug-in application programming interface (API).[1] The latter only implements a subset of the whole COM interface.[2] For some applications, COM has been replaced at least to some extent by the Microsoft .NET framework, and support for Web Services through the Windows Communication Foundation (WCF). However, COM objects can be used with all .NET languages through .NET COM Interop. Networked DCOM uses binary proprietary formats, while WCF encourages the use of XML-based SOAP messaging. COM is very similar to other component software interface technologies, such as CORBA and Enterprise JavaBeans, although each has its own strengths and weaknesses. Unlike C++, COM provides a stable application binary interface (ABI) that does not change between compiler releases.[3] This makes COM interfaces attractive for object-oriented C++ libraries that are to be used by clients compiled using different compiler versions.
^"Documentation Archive". developer.apple.com.
^"Plug-ins and Microsoft's COM". Apple Inc. Retrieved October 5, 2010.
^Microsoft forum: Binary compatibility across Visual C++ versions
and 23 Related for: Component Object Model information
ComponentObjectModel (COM) is a binary-interface standard for software components introduced by Microsoft in 1993. It is used to enable inter-process...
an object-oriented model although the systems that use the CORBA do not have to be object-oriented. CORBA is an example of the distributed object paradigm...
become an architecture for software components known as the ComponentObjectModel (COM), and later DCOM. When an OLE object is placed on the clipboard or embedded...
wanted to use the complex DCE or such components as DCE/RPC at the time. Microsoft's ComponentObjectModel is based heavily on MSRPC, adding interfaces...
framework created by Microsoft that adapts its earlier ComponentObjectModel (COM) and Object Linking and Embedding (OLE) technologies for content downloaded...
time-consuming because of the size of the object graph and slow access speed. Microsoft's ComponentObjectModel (COM) and WinRT makes pervasive use of reference...
approach and meta-object protocol. That is, any complete componentobject system can be expressed with the templates and empathy model within The Orlando...
OPC servers use Microsoft's OLE technology (also known as the ComponentObjectModel, or COM) to communicate with clients. COM technology permits a standard...
System ObjectModel (SOM) is an object-oriented shared library system developed by IBM. DSOM, a distributed version based on CORBA, allowed objects on different...
and object query expressions on any MOF model or meta-model that cannot otherwise be expressed by diagrammatic notation. OCL is a key component of the...
functioning on later versions of Windows. ActiveX ComponentObjectModel (COM) Distributed ComponentObjectModel (DCOM) Microsoft .NET Observer pattern "Net...
OPOS API was first published in January 1996. The standard uses componentobjectmodel and, because of that, all languages that support COM controls (i...
applications to be distributed across multiple computers (e.g. Microsoft's ComponentObjectModel (COM)). Service-oriented architectures use specific communication...
manner. The API provides a set of interfaces implemented using the ComponentObjectModel (COM); it is otherwise unrelated to OLE. Microsoft originally intended...
which it extends for use with the Microsoft ComponentObjectModel. Its compiler is also called MIDL. Object Description Language Microsoft Docs reference...
Data Objects (ADO) comprises a set of ComponentObjectModel (COM) objects for accessing data sources. A part of MDAC (Microsoft Data Access Components),...