COM é o fundamental "modelo" na qual os controles ActiveX e OLE são construídos. COM permite que um objeto para expor sua funcionalidade a outros componentes e aplicativos de host. Define como o objeto expõe propriamente dito e como essa exposição funciona entre processos e entre redes. COM também define o ciclo de vida do objeto.
São fundamentais para COM esses conceitos:
Interfaces — o mecanismo através do qual um objeto expõe sua funcionalidade.
IUnknown — a interface básica em que todos os outros são baseados. Ele implementa a interface consultando mecanismos executando através de COM e contagem de referência.
Contagem de referência — a técnica pelo qual um objeto (ou, estritamente, uma interface) decide quando ele já não está sendo usado e, portanto, está livre para remover o próprio.
QueryInterface — o método usado para consultar um objeto para uma determinada interface.
Marshaling — o mecanismo que permite objetos para ser usado através de limites de rede, permitindo a independência de localização, processo e thread.
Agregação — uma maneira em que um objeto pode fazer usar de outra.