This interface contains a single method that switches a storage object to a different underlying file and saves the storage object to that file.
At a Glance
Header file: | Oleidl.h |
Windows CE versions: | 2.0 and later |
The IRootStorage interface contains a single method that switches a storage object to a different underlying file and saves the storage object to that file. The save operation occurs even with low memory conditions and uncommitted changes to the storage object. A subsequent call to IStorage::Commit is guaranteed to not consume any additional memory.
When to Implement
Storage objects that are based on a file should implement IRootStorage in addition to the IStorage interface. For storage objects that are not file-based, this interface is not necessary.
OLE provides an implementation of a storage object, including the IRootStorage interface, as part of its compound file implementation.
When to Use
The primary use for the IRootStorage interface is to save a storage object to a file during low memory conditions. Typically, the container application calls the IRootStorage interface to switch to a new file.
If you have an IStorage pointer to a compound file object, you can call IStorage::QueryInterface with IID_IRootStorage to obtain a pointer to the IRootStorage interface.
Method | Description |
IRootStorage::SwitchToFile | Copies the file underlying this root storage object, then associates this storage with the copied file. |