Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesOLE Structured Storage


October 1995 / Reviews / Applications 95 Arrive / OLE Structured Storage

The OLE 2 architecture and, specifically, OLE's Structured Storage model enable many of the most powerful features gracing the new wave of Windows 95 applications. The Office Binder, the "stencil" metaphor of both Visio and TriSpectives, and the componentware market all depend on the Windows 95 implementation of Structured Storage.

Application developers are accustomed to assigning file handles and reserving files for a single application, but compound documents allow many applications to write to a single file. Without an OS-level mechanism for handling compound files, the developer must keep track of multiple seek pointers and, in effect, build an internal file system.

A Structured Storage implementa tion solves the problem of compound files by supporting a file system within a file. OLE 2 specifies a file structure that can contain two distinct types of objects -- storage objects and stream objects. Streams hold data (such as the text in a Word file), while storage objects can hold within them any number of substorage objects or streams. Substorage objects (like subdirectories of a root directory) can, in turn, hold other substorages or streams. Each of these object types expose interfaces (in this context, an interface is an array of functions that other objects or applications can call).

Structured Storage frees an OLE container application from managing its own file structure. Instead, the OLE container provides a storage object to any compound document (or other embedded object) that it hosts. The object then manages the streams and substorages under its control. The application container no longer has to manage the complexity of multiple file pointers. In fact, the application doesn't have to do any work at all. The storage object writes directly into the piece of storage under its control without any interaction with the container itself.

OLE Structured Storage also makes data exchange more robust. Under OLE 1, data was transferred through DDE's mechanism of global memory. OLE 2 applications simply pass a pointer to a data object from the source application to the data recipient. This mechanism is implemented through the OLE 2 interfaces to storages and streams. Future versions of NT (Cairo) will use Structured Storage as its native file system.


Compound File Model

illustration_link (7 Kbytes)

To support compound files, OLE implements a file system within a file.


Up to the Reviews section contentsGo to previous article: Applications 95 ArriveGo to next article: Power Mac Gets PCISearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network