5.1 What is an OLE Client?

An OLE client is an application that can display and store objects created by OLE server applications. The objects themselves can contain any kind of data.

A client application provides storage for embedded objects (including the native data defining the object) and a means for the user to activate the object and the server application associated with that object. Client applications also provide ways of putting embedded and linked objects into and out of a document.

Client applications must provide permanent storage for objects that are linked and embedded in a file. How the objects are stored depends on whether the object is a linked object or an embedded object. The following table summarizes the data and presentation formats that get stored along with each type of OLE object:

Linked Object Storage Embedded Object Storage

Presentation data Native data
ObjectLink format Presentation data
  Ownerlink data

Client applications accommodate asynchronous operations by defining a CallBack function to which the client DLL, OLECLI.DLL, sends notifications about current operations. As long as the client application continues to dispatch messages, it can react to the notifications being sent to the CallBack function and to input from the user. For more information about asynchronous operations, see "Handling Asynchronous Operations," later in this chapter.