COM Programming 1
COM provides an abstraction and supporting runtime for creating component-based systems, leveraging loose coupling and independence of programming language.
Many Windows components are exposed through COM, which also forms the basis of the Windows Runtime.