IOleObject
IOleObject is a COM interface used in the Object Linking and Embedding (OLE) framework to represent objects that can be embedded in or linked from a container application. It inherits from IUnknown and is typically implemented by either the embedded object or the host container to manage the lifecycle and interactions of the object within a document or window.
The interface provides a set of methods for container–object communications. SetClientSite and GetClientSite allow the object
IOleObject coordinates with other OLE interfaces, such as IOleInPlaceSite and IOleInPlaceObject, to enable in-place activation and