永続的なオブジェクト インターフェイス
永続オブジェクトは、1 つ以上の永続オブジェクト インターフェイスを実装します。 クライアントは永続的なオブジェクト インターフェイスを使用して、状態を格納するタイミングと場所をオブジェクトに伝えます。 すべての永続オブジェクト インターフェイスは IPersistから派生するため、永続的なオブジェクト インターフェイスを実装するオブジェクトも IPersist 実装します。
現在、次の永続オブジェクト インターフェイスが定義されています。
- IPersistStreamの
- IPersistStreamInitの
- IPersistStorageの
- IPersistFileの
- IPersistMoniker
- IPersistMemory
- IPersistPropertyBag
実装者は、オブジェクトの使用方法に応じて、オブジェクトがサポートする永続オブジェクト インターフェイスを選択します。 永続的なオブジェクト インターフェイスをサポートしないことで、実装者は実質的に "このオブジェクトの状態は永続的に格納できません" と言っています。1 つ以上の永続的なオブジェクト インターフェイスをサポートすることで、実装者は効果的に「このオブジェクトの状態は、1 つ以上のデータ ストア メディアに永続的に格納できます」と言います。
たとえば、次の表に、さまざまな永続オブジェクト インターフェイスのサポートを許可するいくつかのオブジェクトの種類を示します。
カテゴリ | 一般的にサポートされる永続的なオブジェクト インターフェイス |
---|---|
モニカー |
IPersistStreamの |
OLE 埋め込み可能オブジェクト |
IPersistStorage、IPersistFile |
ActiveX コントロール |
IPersistStreamInit、IPersistStorage、IPersistMemory、IPersistPropertyBag、IPersistMoniker をします。 |
ActiveX ドキュメント オブジェクト |
IPersistStorage、IPersistFile |
クライアント実装者は、クライアントが使用できる永続オブジェクト インターフェイスを選択することもできます。 通常、クライアントが使用するインターフェイスは、クライアントが独自のデータを格納できる場所によって決まります。 フラット ファイルにのみデータを格納できるクライアントでは、IPersistStreamInit、IPersistMoniker、および IPersistPropertyBagのみが使用される可能性があります。 (IPersistStreamInit は、ほとんどのアプリケーション IPersistStream を置き換えることができます。これは、その定義が含まれており、初期化メソッドを追加するためです)。構造化ストレージ ファイルにデータを保存できるクライアントは、IPersistStorage使用します。
関連トピック
-
永続的オブジェクト の初期化の