IStorage インターフェイス (objidl.h)

IStorage インターフェイスは、構造化ストレージ オブジェクトの作成と管理をサポートします。 構造化ストレージを使用すると、1 つのファイル内に情報を階層的に格納でき、"ファイル内のファイル システム" と呼ばれることがよくあります。 構造化ストレージ オブジェクトの要素は、ストレージとストリームです。 ストレージはディレクトリに似ていますが、ストリームはファイルに似ています。 構造化ストレージ内には、サブストレージ、おそらく入れ子になったストリーム、およびストリームを含む可能性があるプライマリ ストレージ オブジェクトがあります。 ストレージは オブジェクトの構造を提供し、ストリームには IStream インターフェイスを介して操作されるデータが含まれます。

IStorage インターフェイスには、ルート ストレージ オブジェクト、子ストレージ オブジェクト、およびストリーム オブジェクトを作成および管理するためのメソッドが用意されています。 これらのメソッドは、ストレージ オブジェクト内の要素を作成、開く、列挙、移動、コピー、名前変更、または削除できます。

アプリケーションは、使用されるメモリの割り当てを解除するために、ストレージ オブジェクトで完了したときに IStorage ポインターを解放する必要があります。 要素の日付と時刻を変更するメソッドもあります。

STGM 定数の値を設定することで、ストレージ オブジェクトとその要素を開くことができるさまざまなモードがあります。 この 1 つの側面は、変更のコミット方法です。 オブジェクトに対する変更がすぐに書き込まれるダイレクト モード、または明示的にコミットされるまで変更がバッファーに書き込まれるトランザクション モードを設定できます。 IStorage インターフェイスには、変更をコミットし、最後にコミットされたバージョンに戻すメソッドが用意されています。 たとえば、ストリームは読み取り専用モードまたは読み取り/書き込みモードで開くことができます。 詳細については、「 STGM 定数」を参照してください。

その他のメソッドは、 STATSTG 構造体を介して、ストレージ オブジェクトとその要素に関する情報へのアクセスを提供します。

継承

IStorage インターフェイスは、IUnknown インターフェイスから継承されます。 IStorage には、次の種類のメンバーもあります。

メソッド

IStorage インターフェイスには、これらのメソッドがあります。

 
IStorage::Commit

Commit メソッドを使用すると、トランザクション モードで開いているストレージ オブジェクトに加えられた変更が親ストレージに反映されます。
IStorage::CopyTo

開いているストレージ オブジェクトの内容全体を別のストレージ オブジェクトにコピーします。
IStorage::CreateStorage

このストレージ オブジェクト内に入れ子になった新しいストレージ オブジェクトを、指定したアクセス モードで指定した名前で作成して開きます。
IStorage::CreateStream

このストレージ オブジェクトに含まれる指定した名前のストリーム オブジェクトを作成して開きます。
IStorage::D estroyElement

指定したストレージまたはストリームをこのストレージ オブジェクトから削除します。
IStorage::EnumElements

EnumElements メソッドは、このストレージ オブジェクトに含まれるストレージ オブジェクトとストリーム オブジェクトを列挙するために使用できる列挙子オブジェクトへのポインターを取得します。
IStorage::MoveElementTo

MoveElementTo メソッドは、このストレージ オブジェクトから別のストレージ オブジェクトにサブストレージまたはストリームをコピーまたは移動します。
IStorage::OpenStorage

指定したアクセス モードで、指定した名前の既存のストレージ オブジェクトを開きます。
IStorage::OpenStream

指定したアクセス モードで、このストレージ オブジェクト内の既存のストリーム オブジェクトを開きます。
IStorage::RenameElement

RenameElement メソッドは、このストレージ オブジェクト内の指定されたサブストレージまたはストリームの名前を変更します。
IStorage::Revert

Revert メソッドは、最後のコミット操作以降にストレージ オブジェクトに加えられたすべての変更を破棄します。
IStorage::SetClass

SetClass メソッドは、指定したクラス識別子 (CLSID) をこのストレージ オブジェクトに割り当てます。
IStorage::SetElementTimes

SetElementTimes メソッドは、基になるファイル システムでこのメソッドがサポートされている場合に、指定されたストレージ要素の変更、アクセス、および作成時間を設定します。
IStorage::SetStateBits

SetStateBits メソッドは、このストレージ オブジェクトに最大 32 ビットの状態情報を格納します。
IStorage::Stat

Stat メソッドは、このオープン ストレージ オブジェクトの STATSTG 構造体を取得します。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー objidl.h

こちらもご覧ください

EnumAll サンプル

サンプル