The purpose of COM handlers is to provide some "smart" code in the client address space that can optimize calls between a client and server. Handlers can override some interfaces while delegating others directly to the server (through the proxy).
There are two types of COM handlers:
- The OLE handler is a heavyweight DLL that provides important services for linking and embedding. It is usually created before the server is launched and is initialized so that the server is activated when the embedded object enters the running state.
- The lightweight client-side handler can be created for any purpose, can be very small, and cannot be created before the server.