The COM Library provides the mechanics of COM. This system component encapsulates all the work associated with launching components and establishing connections between them. Typically, when an application creates a COM component it passes the CLSID of that COM component class to the COM library. The COM library uses the CLSID to look up the associated server code in the registration database. When a client makes a request to create an object of a CLSID, the COM Library requests that the appropriate server be located or launched.
Figure 5.6 COM Library
The COM Library is the key to providing transparent cross-process interoperability. The COM Library insulates components from location differences. This means that COM components can interoperate freely with other COM components running in the same process, in a different process, or across the network. The code needed to implement or use a COM component in any of these cases is exactly the same. Thus, when a new COM Library is released with support for cross-network interaction, existing COM components can work in a distributed fashion without changes to the source code, recompilation, or redistribution to customers.