Structured Storage Features
The design of Structured Storage provides for a number of significant features not expressly described in the IStorage and IStream interfaces:
- Access modes. Elements can be opened in a variety of ways, including the usual read/write permissions and sharing exclusions. In addition, elements can be opened as transacted or direct and can be manipulated in a few other ways as well.
- Shareable elements. Storages and streams are shareable across process boundaries.
- Element naming. Storages and streams can have names up to 31 characters long.
- Incremental access. Modifications to any element do not require a complete rewrite of a file, and elements can be read as little as necessary.
Again, this technology is not a rigid requirement for doing any other work with OLE, but these features, which are described in more detail in the following sections, can greatly simplify how an application or a component manages its storage. Incremental access, for example, comes almost for free, and a "revert to saved" feature is easily provided with transactioning.