IPersistStream::Save
Saves an object to the specified stream.
HRESULT Save(
IStream *pStm,
| //Pointer to the stream where the object is to be saved
|
BOOL fClearDirty
| //Specifies whether to clear the dirty flag
|
);
|
|
Parameters
pStm
[in]Points to the stream into which the object should be saved.
fClearDirty
[in]Indicates whether to clear the dirty flag after the save is complete. If
TRUE, the flag should be cleared. If FALSE, the flag should be left unchanged.
Return Values
S_OK
The object was successfully saved to the stream.
STG_E_CANTSAVE
The object could not save itself to the stream. This error could indicate, for
example, that the object contains another object that is not serializable to a
stream or that an
IStream::Write call returned STG_E_CANTSAVE.
STG_E_MEDIUMFULL
The object could not be saved because there is no space left on the storage
device.
Comments
This method saves an object into the specified stream and indicates whether
the object should reset its dirty flag.
The seek pointer is positioned at the location in the stream at which the
object should begin writing its data. The object calls the
IStream::Write method to write its data.
On exit, the seek pointer must be positioned immediately past the object data.
The position of the seek pointer is undefined if an error returns.
Notes to Callers
Rather than calling
IPersistStream::Save directly, you typically use the
OleSaveToStream helper function which performs the following steps:
- Calls IPersistStream::GetClassID to get the object's class identifier.
- Calls the WriteClassStm function to write the object's class identifier to the stream.
- Calls IPersistStream::Save.
If you call these methods directly, you can write other data into the stream
after the class identifier before calling
IPersistStream::Save.
The OLE-provided implementation of
IPersistStream follows this same pattern.
Notes to Implementors
The
IPersistStream::Save method does not write the class identifier to the stream. The caller is
responsible for writing the class identifier.
The
IPersistStream::Save method can read from, write to, and seek in the stream; but it must not seek
to a location in the stream before that of the seek pointer on entry.
See Also
IPersist::GetClassID,
IStream::Write,
OleSaveToStream
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database