Initializing Persistent Objects

Several of the persistent object interfaces, IPersistStreamInit, IPersistStorage, IPersistMemory, and IPersistPropertyBag, allow clients to initialize objects to a "fresh" or "default" state. This initial state is different from that of a newly created object, which has no state.

Initializing an object's state, even to the default state, may be a compute-intensive or resource-intensive operation. By separating creation from initialization, the initialization can be performed only when it is actually needed and clients can avoid initializing objects to the default state only to immediately load previously stored data.

Persistent Object Interfaces