The IPersistStream interface provides methods for saving and loading objects that use a simple serial stream for their storage needs. The primary purpose of this interface is to support OLE moniker implementations. Each of the OLE-provided moniker interfaces provide an IPersistStream implementation through which the moniker saves or loads itself. An instance of the OLE generic composite moniker class calls the IPersistStream methods of its component monikers to load or save the components in the proper sequence in a single stream.

OLE containers with embedded and linked component objects do not use this interface; they use the IPersistStorage interface instead.

When to Implement

Typically, applications do not implement the IPersistStream interface. However, the IMoniker interface is derived from the IPersistStream interface, so you must implement the IPersistStream interface if you are implementing a new moniker class.

When to Use

Typically, applications do not use the IPersistStream interface directly. The default link handler uses the IPersistStream interface to save and load the monikers that identify the link source. These monikers are stored in a stream in the storage for the linked object. If you are writing a custom link handler for your class of components, you will need to use the IPersistStream interface to load and save these monikers.

Methods in Vtable Order

IUnknown Methods
Returns pointers to supported interfaces.
Increments the reference count.
Decrements the reference count.

IPersistStream Methods
Checks the object for changes since it was last saved.
Initializes an object from the stream where it was previously saved.
Saves an object into the specified stream and indicates whether the object should reset its dirty flag.
Return the size in bytes of the stream needed to save the object.

See Also


Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
Unix Manual Pages
Delphi Examples
Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database