Component Object Model, o mejor conocido por su acrónimo
COM, es una interfáz de estándar binario (o lenguaje neutro) que sirve para posibilitar la comunicación entre procesos, por ponerte un ejemplo: la interoperabilidad entre
Microsoft Office y tu proceso -puedes manejar el proceso de
Office mediante la utilización de sus componentes
COM desde tu proceso, dicho de otro modo
COM sirve como una técnica
IPC (
Inter-process communication).
Lo mencionado arriba se consigue mediante el propósito fundamental de
COM , poder implementar objetos (que etán definidos en los componentes
COM) e instanciarlos de forma dinámica en entornos de programación distintos al que fueron creados, por ejemplo se puede conectar a un componente
COM desde un lenguaje soportado por la plataforma
.NET (
VB.NET,
C#, etc), o desde otros lenguajes como
C++.
Otra cosa que me gustaría aclararte es que
COM y
OLE en absoluto son lo mismo, simplemente
COM es la base de
OLE, o dicho de otro modo
OLE se diseñó a partir de
COM.
...¿Un libro dices?, en realidad no necesitas ninguno puesto que
COM es una tecnología desarrollada por
Microsoft, y si algo podemos admirar de
Microsoft es que es lider, amo y señor todo poderoso en ofrecernos una basta cantidad de guías y referencias online para programadores, todo tipo de documentación con todo lo que necesitas saber y más, vaya, así que en mi humilde opinión podrías empezar a leer por aquí:
Guías y ejemplos para C++:No encontré nada para
C, espero que te sirva igual con esos links para
C++.
PD:
Debes formular las preguntas de programación en el subforo de programación apropiado, no en la sección de Windows...Saludos!