次の方法で共有


IPersistStorageImpl クラス

このクラスは、IPersistStorage インターフェイスを実装します。

重要

このクラスとそのメンバーは、Windows ランタイムで実行するアプリケーションで使用することはできません。

構文

template <class T>
class ATL_NO_VTABLE IPersistStorageImpl : public IPersistStorage

パラメーター

T
IPersistStorageImpl から派生したクラス。

メンバー

パブリック メソッド

名前 説明
IPersistStorageImpl::GetClassID オブジェクトの CLSID を取得します。
IPersistStorageImpl::HandsOffStorage すべてのストレージ オブジェクトを解放し、HandsOff モードに切り替えるようオブジェクトに指示します。 ATL 実装では S_OK が返されます。
IPersistStorageImpl::InitNew 新しいストレージを初期化します。
IPersistStorageImpl::IsDirty オブジェクトのデータが最後の保存された後に変更されたかどうかを確認します。
IPersistStorageImpl::Load オブジェクトのプロパティを、指定したストレージから読み込みます。
IPersistStorageImpl::Save オブジェクトのプロパティを、指定したストレージに保存します。
IPersistStorageImpl::SaveCompleted 通常モードに戻ってストレージ オブジェクトに書き込み可能であることをオブジェクトに通知します。 ATL 実装では S_OK が返されます。

解説

IPersistStorageImplIPersistStorage インターフェイスを実装しています。これにより、クライアントはオブジェクトの読み込み要求を行い、ストレージを使用して永続データを保存できます。

このクラスの実装では、QueryInterface を介して IPersistStreamInit インターフェイスの実装を使用可能にするために、クラス T が必要です。 これは通常、クラス TIPersistStreamInitImpl から派生し、COM マップIPersistStreamInit のエントリを指定し、プロパティ マップを使用してクラスの永続的なデータを記述する必要があることを意味します。

関連記事 ATL チュートリアルATL プロジェクトの作成

継承階層

IPersistStorage

IPersistStorageImpl

要件

ヘッダー: atlcom.h

IPersistStorageImpl::GetClassID

オブジェクトの CLSID を取得します。

STDMETHOD(GetClassID)(CLSID* pClassID);

解説

Windows SDK の IPersist::GetClassID に関する記事を参照してください。

IPersistStorageImpl::HandsOffStorage

すべてのストレージ オブジェクトを解放し、HandsOff モードに切り替えるようオブジェクトに指示します。

STDMETHOD(HandsOffStorage)(void);

戻り値

S_OK を返します。

解説

Windows SDK のIPersistStorage::HandsOffStorage に関する記事を参照してください。

IPersistStorageImpl::InitNew

新しいストレージを初期化します。

STDMETHOD(InitNew)(IStorage*);

解説

ATL 実装は、IPersistStreamInit インターフェイスにデリゲートします。

Windows SDK の IPersistStorage::InitNew に関する記事を参照してください。

IPersistStorageImpl::IsDirty

オブジェクトのデータが最後の保存された後に変更されたかどうかを確認します。

STDMETHOD(IsDirty)(void);

解説

ATL 実装は、IPersistStreamInit インターフェイスにデリゲートします。

Windows SDK の IPersistStorage::IsDirty に関する記事を参照してください。

IPersistStorageImpl::Load

オブジェクトのプロパティを、指定したストレージから読み込みます。

STDMETHOD(Load)(IStorage* pStorage);

解説

ATL 実装は、IPersistStreamInit インターフェイスにデリゲートします。 Load は、"Contents" という名前のストリームを使用して、オブジェクトのデータを取得します。 Save メソッドでは、最初にこのストリームが作成されます。

Windows SDK の IPersistStorage::Load に関する記事を参照してください。

IPersistStorageImpl::Save

オブジェクトのプロパティを、指定したストレージに保存します。

STDMETHOD(Save)(IStorage* pStorage, BOOL fSameAsLoad);

解説

ATL 実装は、IPersistStreamInit インターフェイスにデリゲートします。 Save が最初に呼び出されると、指定したストレージに "Contents" という名前のストリームが作成されます。 このストリームは、後で Save の呼び出しと Load の呼び出しで使用されます。

Windows SDK の IPersistStorage::Save に関する記事を参照してください。

IPersistStorageImpl::SaveCompleted

通常モードに戻ってストレージ オブジェクトに書き込み可能であることをオブジェクトに通知します。

STDMETHOD(SaveCompleted)(IStorage*);

戻り値

S_OK を返します。

解説

Windows SDK の IPersistStorage::SaveCompleted に関する記事を参照してください。

関連項目

ストレージとストリーム
IPersistStreamInitImpl クラス
IPersistPropertyBagImpl クラス
クラスの概要