1.3.3 OLE1.0 and OLE2.0 Formats

There are two different formats for representing linked objects and embedded objects within container documents. The first format is the OLE1.0 Format. This format predates the OLE Compound File technology (as specified in [MS-CFB]). When using the OLE1.0 Format, the linked object and embedded object data is laid out as a sequence of bytes within the container document. The data structures in section 2.2 specify the format of the data within the byte sequence.

The second format is the OLE2.0 Format. This format uses the OLE Compound File technology (as specified in [MS-CFB]). When using the OLE2.0 Format, the container application creates an OLE Compound File Storage object ([MS-CFB] section 1.3) for each linked object or embedded object. The linked object or embedded object data is contained in this storage in the form of OLE Compound File Stream objects ([MS-CFB] section 1.3). The data structures in section 2.3 specify the format of the data contained in the stream objects.

It is required that an application differentiate in advance whether it is processing a file that uses the OLE1.0 Format or the OLE2.0 Format. This information is local to the application and is not specified in this document.

It is strongly advised that implementations of this specification use the OLE2.0 Format when creating container documents. The OLE1.0 Format is specified to allow only for backward-compatible implementations.