IPersistPropertyBag::Save
Called by the
container to save the object s properties.
HRESULT Save(
IPropertyBag* pPropBag, |
//Pointer to the caller s property bag |
BOOL fClearDirty, |
//Specifies whether to clear the dirty flag |
BOOL fSaveAllProperties |
//Specifies whether to save all properties or just
those that have changed |
); |
|
Parameters
pPropBag
[in] Pointer
to the caller s IPropertyBag interface through which the object can
write properties. Cannot be NULL.
fClearDirty
[in] A flag
indicating whether the object should clear its dirty flag when saving is
complete. TRUE means clear the flag, FALSE means leave the flag unaffected.
FALSE is used when the caller wishes to do a Save Copy As type of operation.
fSaveAllProperties
[in] A flag
indicating whether the object should save all its properties (TRUE) or only
those that have changed since the last save or initialization (FALSE).
Return Values
S_OK
The object
successfully saved the requested properties itself.
E_FAIL
There was a
problem saving one of the properties. The object can choose to fail only if a
necessary property could not be saved, meaning that the object can assume
default property values if a given property is not seen through IPersistPropertyBag::Load
at some later time.
E_POINTER
The address
in pPropBag is not valid (such as NULL) and therefore the object cannot
initialize itself.
STG_E_MEDIUMFULL
The object
was not saved because of a lack of space on the disk.
Remarks
This method
instructs the object to save its properties to the specified property bag,
optionally clearing the object s dirty flag. The caller can request that the
object save all properties or that the object save only those that are known to
have changed.
E_NOTIMPL is
not a valid return code as any object implementing this interface must support
the entire functionality of the interface.
See Also