The IPIPersist interface is a secondary interface supported by objects in the Applies To list. The interface has one method, Persist, which allows the caller to obtain a persistence string that can be used to restore the same object later.
For example, a program may want to save a PIPoint, PIModule, PIBatch, etc. in a file and retrieve that object the next time the program runs. You may also persist a number of collections: PIModuleList, PIBatchList, PIUnitBatchList, etc.
To retrieve the object, create a PIGlobalRestorer object and pass it the persistence string.
IPIPersist is a generic interface that any developer can implement. With that and a corresponding restorer object that supports the IPIRestorer interface, objects can be persisted and restored.
Objects that support IPIPersist can be saved as the Value property of a PIProperty object. When the PIProperty is saved, the persistence string for the object is saved. When the Value of the PIProperty is retrieved later, the object will be restored and returned in the value.
For PISDK objects, the persistence string only contains enough information to ask the database for the object. It doesn't contain a copy of the data within the object. For example the persistence string for a PIModule object contains information about the Server and the UniqueID and EffectiveDate of the module.