<Table> <Tr> <Td> </Td> <Td> This article needs additional citations for verification . Please help improve this article by adding citations to reliable sources . Unsourced material may be challenged and removed . (April 2008) (Learn how and when to remove this template message) </Td> </Tr> </Table> <Tr> <Td> </Td> <Td> This article needs additional citations for verification . Please help improve this article by adding citations to reliable sources . Unsourced material may be challenged and removed . (April 2008) (Learn how and when to remove this template message) </Td> </Tr> <P> 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 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 . </P> <P> 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). The latter only implements a subset of the whole COM interface . 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 . This makes COM interfaces attractive for object - oriented C++ libraries that are to be used by clients compiled using different compiler versions . </P>

What is component object model in c#