IPersistPropertyBag::Save

This method instructs the object to save its properties to the given property bag, and optionally to clear the object's dirty flag.

HRESULT Save( 
  IPropertyBag* pPropBag,
  BOOL fClearDirty,
  BOOL fSaveAllProperties
);

Parameters

  • pPropBag
    [in] Address of the caller's property bag through which the object can write properties. This cannot be NULL.
  • fClearDirty
    [in] Flag indicating whether the object should clear its dirty flag when saving is complete. TRUE means clear the flag, and FALSE means leave the flag unaffected. FALSE is used when the caller wants to do a "Save Copy As" operation.
  • fSaveAllProperties
    [in] Flag indicating whether the object should save all its properties (TRUE) or only those that have changed from the default value (FALSE).

Return Values

The following table shows return values.

Value Description
S_OK The object successfully saved the requested properties.
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.
E_POINTER The address in pPropBag is not valid and therefore the object cannot initialize itself. If the value of pPropBag is NULL, the method returns E_POINTER.

Remarks

The caller can request that the object save all properties or only those that are known to have changed.

E_NOTIMPL is not a valid return code because any object implementing this interface must support the entire functionality of the interface.

Requirements

OS Versions: Windows CE .NET 4.0 and later.
Header: Ocidl.h, Ocidl.idl.
Link Library: Ole32.lib, Uuid.lib.

See Also

IPersistPropertyBag | IPropertyBag | IPersistPropertyBag::InitNew | IPersistPropertyBag::Load

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.