Storage
Interfaces
Control
containers must be able to support controls that implement IPersistStorage,
IPersistStream, or IPersistStreamInit. Optionally, a container
can support any other persistence interfaces such as IPersistMemory, IPersistPropertyBag,
and IPersistMoniker for those controls that provide support.
Once an
ActiveX Control Container has chosen and initialized a storage interface to use
(IPersistStorage, IPersistStream, IPersistStreamInit,
etc), that storage interface will remain the primary storage interface for the
lifetime of the control, i.e. the control will remain in possession of the
storage. This does not preclude the container from saving to other storage
interfaces.
ActiveX
Control Containers do not need to support a save as text mechanism, thus using IPersistPropertyBag
and the associated container-side interface IPropertyBag are optional.