Share via


方法 : 分離ストレージでストアを取得する

ストアは、データ コンパートメント内に仮想ファイル システムを公開します。 IsolatedStorageFile には、ストアと対話するためのメソッドがいくつか用意されています。 ストアを作成および取得するには、IsolatedStorageFile に用意されている 3 つの静的メソッドを使用します。 GetUserStoreForAssembly を呼び出すと、ユーザーとアセンブリごとに分離されたストレージが返されます。 GetUserStoreForDomain を呼び出すと、ドメインとアセンブリごとに分離されたストレージが返されます。 この 2 つのメソッドは、呼び出し元のコード ブロックに属するストアを取得します。 静的メソッド GetStore は、スコープ パラメーターの組み合わせを渡すことによって指定される分離ストアを返します。 次のパラメーターは、ユーザー、アセンブリ、およびドメイン別に分離されたストアを返します。

Dim isoStore As IsolatedStorageFile = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or
    IsolatedStorageScope.Assembly Or IsolatedStorageScope.Domain, Nothing, Nothing)
IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User |
    IsolatedStorageScope.Assembly | IsolatedStorageScope.Domain, null, null);
IsolatedStorageFile^ isoStore = IsolatedStorageFile::GetStore(IsolatedStorageScope::User |
    IsolatedStorageScope::Assembly | IsolatedStorageScope::Domain, (Type ^)nullptr, (Type ^)nullptr);

GetStore メソッドを使用すると、ローミング ユーザー プロファイルと共にストアが移動するように指定できます。 ローミングの設定方法の詳細については、「分離ストレージとローミング」を参照してください。

既定では、異なるアセンブリから取得される分離ストアは、異なるストアです。 異なるアセンブリまたはドメインの証拠を GetStore メソッドの最後の 2 つのパラメーターとして渡すことにより、異なるアセンブリまたはドメインのストアにアクセスできます。 別のアセンブリまたはドメインのストアにアクセスするには、アプリケーション ドメイン ID 別の分離ストレージにアクセスするためのアクセス許可が必要です。 詳細については、GetStore メソッドのトピックを参照してください。

上記の 3 つのメソッドは、いずれも IsolatedStorageFile オブジェクトを返します。 場面に応じてどの分離タイプを使用するのが適切かを判断するには、「分離のタイプ」を参照してください。 分離ストレージ ファイル オブジェクトを取得した後は、分離ストレージのメソッドを使用して、ファイルやファイル ディレクトリの読み取り、書き込み、作成、および削除を行うことができます。

ストアを取得するための十分なアクセス権限を持たないコードに IsolatedStorageFile を渡すことを阻止する方法はありません。 ドメインおよびアセンブリの ID や分離ストレージのアクセス許可の確認は、IsolatedStorage オブジェクトへの参照が取得されたとき、つまり、通常は GetUserStoreForAssembly メソッド、GetUserStoreForDomain メソッド、または GetStore メソッドでしか実行されません。 したがって、IsolatedStorageFile オブジェクトへの参照の保護は、その参照を使用するコードで行う必要があります。

ObtainingAStore の例

ユーザーおよびアセンブリ別に分離されたストアを取得するクラスの簡単なコード例を次に示します。 GetStore メソッドが渡す引数に IsolatedStorageScope.Domain を追加することにより、このコードをユーザー、ドメイン、およびアセンブリ別に分離されたストアを取得するように変更できます。

コードの実行後に、コマンド ラインに「StoreAdm /LIST」と入力すると、ストアが作成されたことを確認できます。 「StoreAdm/List」と入力すると、分離ストレージ管理ツール (Storeadm.exe) が実行され、そのユーザーについての現在の分離ストアがすべて一覧表示されます。 Storeadm.exe の詳細については、「分離ストレージ ツール (Storeadm.exe)」を参照してください。

Imports System
Imports System.IO.IsolatedStorage

Public Class ObtainingAStore
    Public Shared Sub Main()
        ' Get a new isolated store for this assembly and put it into an
        ' isolated store object.

        Dim isoStore As IsolatedStorageFile = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or
            IsolatedStorageScope.Assembly, Nothing, Nothing)
    End Sub
End Class
using System;
using System.IO.IsolatedStorage;

public class ObtainingAStore
{
    public static void Main()
    {
        // Get a new isolated store for this assembly and put it into an
        // isolated store object.

        IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User |
            IsolatedStorageScope.Assembly, null, null);
    }
}
using namespace System;
using namespace System::IO::IsolatedStorage;

public ref class ObtainingAStore
{
public:
    static void Main()
    {
        // Get a new isolated store for this assembly and put it into an
        // isolated store object.

        IsolatedStorageFile^ isoStore = IsolatedStorageFile::GetStore(IsolatedStorageScope::User |
            IsolatedStorageScope::Assembly, (Type ^)nullptr, (Type ^)nullptr);
    }
};

参照

参照

IsolatedStorageFile

IsolatedStorageScope

概念

分離ストレージ

分離のタイプ

共通言語ランタイムのアセンブリ