Freigeben über


Schnittstellen für persistente Objekte

Ein persistentes Objekt implementiert eine oder mehrere Schnittstellen für persistente Objekte. Clients verwenden Schnittstellen für persistente Objekte, um diesen Objekten mitzuteilen, wann und wo ihr Zustand gespeichert werden soll. Alle Schnittstellen für persistente Objekte werden von IPersist abgeleitet, sodass jedes Objekt, das eine schnittstelle für persistente Objekte implementiert, auch IPersist implementiert.

Die folgenden Schnittstellen für persistente Objekte sind derzeit definiert:

Implementierer wählen aus, welche persistenten Objektschnittstellen ein Objekt unterstützt, je nachdem, wie das Objekt verwendet werden soll. Da keine Schnittstellen für persistente Objekte unterstützt werden, sagt der Implementierer effektiv: "Der Zustand dieses Objekts kann nicht dauerhaft gespeichert werden." Durch die Unterstützung einer oder mehrerer Schnittstellen für persistente Objekte sagt der Implementierer effektiv: "Der Zustand dieses Objekts kann dauerhaft in einem oder mehreren Datenspeichermedien gespeichert werden."

Die folgende Tabelle enthält beispielsweise mehrere Objekttypen, die die Unterstützung für unterschiedliche Schnittstellen für persistente Objekte ermöglichen.

Category Schnittstellen für persistente Objekte werden in der Regel unterstützt
Moniker
Ipersiststream
EINBETTBARE OLE-Objekte
IPersistStorage, IPersistFile
ActiveX-Steuerelemente
IPersistStreamInit, IPersistStorage, IPersistMemory, IPersistPropertyBag, IPersistMoniker
ActiveX-Dokumentobjekte
IPersistStorage, IPersistFile

Clientimplementierende können auch auswählen, welche persistenten Objektschnittstellen der Client verwenden kann. Die Schnittstellen, die ein Client verwendet, werden normalerweise danach bestimmt, wo der Client seine eigenen Daten speichern kann. Ein Client, der seine Daten nur in einer Flatfile speichern kann, verwendet wahrscheinlich nur IPersistStreamInit, IPersistMoniker und IPersistPropertyBag. (IPersistStreamInit kann IPersistStream in den meisten Anwendungen ersetzen, da es diese Definition enthält und eine Initialisierungsmethode hinzufügt.) Ein Client, der seine Daten in einer strukturierten Speicherdatei speichern kann, verwendet außerdem IPersistStorage.

Initialisieren persistenter Objekte