There are three new clipboard formats for OLE client and server applications to support: Native, ObjectLink, and OwnerLink. While the Metafile, Bitmap, and DIB formats are used for the presentation of objects, the Native, ObjectLink, and OwnerLink formats provide additional object information that is needed by client applications.
2.1.1.1 Native Presentation Format
Native format consists of the native data that the server application used to define an object; this is data that the server application would normally save to a file. A client application does not need to interpret native data; however, it does need to store it in the container document as an embedded object. Storing the native data enables a client application to pass the object back to the server application (via the OLE libraries), when the user wants to edit the object.
2.1.1.2 ObjectLink Presentation Format
The ObjectLink format is used to link objects in the container document. This format consists of the following three null-terminated strings, with the last string double null-terminated:
String | Purpose |
Class name | Identifies the different types of OLE objects. Each server application has a unique class name that identifies it as being able to edit or play an object. |
Document name | Identifies the pathname of the document from which the object was copied to the container document. |
Item name | Specifies the object in the context of the server document in which the object was created, such as in the case of a spreadsheet application where the item name field is used to specify a range of cells. |
The ObjectLink data is placed on the clipboard as shown in the following example; where Worksheet is the class name, c:\dir\filename is the document name, and R1C1:R5C3 is the item name.
Worksheet\0c:\dir\filename\0R1C1:R5C3\0\0
Note It is possible for the item name to be NULL; in this case, the entire source document is the object.
2.1.1.3 OwnerLink Presentation Format
The OwnerLink format is used with embedded objects. This format also consists of the null-terminated class name, document name, and item name strings (see preceding section). However, unlike linked objects, client applications that embed objects do not use the document name and item name strings.