A major feature of COM and the basis for integration between applications is interoperability. This integration brings with it the need for multiple applications to write information to the same file on the underlying file system. The solution is a file system within a file. Instead of requiring a large, contiguous sequence of bytes on a disk to be manipulated through a single file handle with a single seek pointer, OLE defines a model for treating a single file system entity as a structured collection of two types of objects called storages and streams . Storages and streams act like directories and files, respectively. This model is called structured storage .
Figure 5.9 Structured Storage Files