The IPropertyBag interface provides an object with a property bag in which the object can persistently save its properties.
When a client wishes to have exact control over how individually named properties of an object are saved, it would attempt to use an object's IPersistPropertyBag interface as a persistence mechanism. In that case the client supplies a property bag to the object in the form of an IPropertyBag interface.
When the object wishes to read a property in IPersistPropertyBag::Load it will call IPropertyBag::Read. When the object is saving properties in IPersistPropertyBag::Save it will call IPropertyBag::Write. Each property is described with a name in pszPropName whose value is exchanged in a VARIANT. This information allows a client to save the property values as text, for instance, which is the primary reason why a client might choose to support IPersistPropertyBag.
The client records errors that occur during reading into the supplied error log.
A container implements this interface to provide its object with a way to store their properties persistently.
An object calls the methods on this interface to read and write its properties into the container provided property bag.
IUnknown Methods | Description |
---|---|
QueryInterface | Returns pointers to supported interfaces. |
AddRef | Increments reference count. |
Release | Decrements reference count. |
IPropertyBag Methods | Description |
---|---|
Read | Called by the control to read a property from the storage provided by the container. |
Write | Called by the control to write each property in turn to the storage provided by the container. |
Windows NT: Use version 4.0 or later.
Windows: Use Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in ocidl.h.
IErrorLog, IPersistPropertyBag