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]IStream
pointer 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
STG_E_MEDIUMFULL
The object
could not be saved because there is no space left on the storage device.
Remarks
IPersistStream::Save 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
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 call the OleSaveToStream
1. Calls IPersistStream::GetClassID to get
the object s CLSID.
2. Calls the WriteClassStm function to write the
object s CLSID to the stream.
3. Calls IPersistStream::Save.
If you call
these methods directly, you can write other data into the stream after the
CLSID before calling IPersistStream::Save.
The
OLE-provided implementation of IPersistStream4KTV_NZ follows this same pattern.
Notes to Implementers
The IPersistStream::Save
method does not write the CLSID to the stream. The caller is responsible for
writing the CLSID.
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