IsolatedStorageFile.GetMachineStoreForDomain メソッド

定義

アプリケーション ドメイン ID とアセンブリ ID に対応するマシン スコープの分離ストレージを取得します。

public:
 static System::IO::IsolatedStorage::IsolatedStorageFile ^ GetMachineStoreForDomain();
public static System.IO.IsolatedStorage.IsolatedStorageFile GetMachineStoreForDomain ();
static member GetMachineStoreForDomain : unit -> System.IO.IsolatedStorage.IsolatedStorageFile
Public Shared Function GetMachineStoreForDomain () As IsolatedStorageFile

戻り値

アプリケーション ドメイン ID とアセンブリ ID の組み合わせに基づく IsolatedStorageScope に対応するオブジェクト。

例外

分離ストレージに対して必要なアクセス許可が与えられていません。

ストアを開くことができません。

- または -

指定したアセンブリには、分離ストアを作成するためのアクセス許可が不足しています。

- または -

アプリケーション ドメインのアクセス許可を特定できません。

- または -

分離ストレージの場所を初期化できません。

次のコード例は、 メソッドを GetUserStoreForDomain 示しています。 この例の完全なコンテキストについては、概要に関するページを IsolatedStorageFile 参照してください。

IsolatedStorageFile^ isoFile;
isoFile = IsolatedStorageFile::GetUserStoreForDomain();

// Open or create a writable file.
IsolatedStorageFileStream^ isoStream = gcnew IsolatedStorageFileStream( this->userName,FileMode::OpenOrCreate,FileAccess::Write,isoFile );
StreamWriter^ writer = gcnew StreamWriter( isoStream );
writer->WriteLine( this->NewsUrl );
writer->WriteLine( this->SportsUrl );

// Calculate the amount of space used to record the user's preferences.
double d = isoFile->CurrentSize / isoFile->MaximumSize;
Console::WriteLine( "CurrentSize = {0}", isoFile->CurrentSize.ToString() );
Console::WriteLine( "MaximumSize = {0}", isoFile->MaximumSize.ToString() );
writer->Close();
isoFile->Close();
isoStream->Close();
return d;
IsolatedStorageFile isoFile;
isoFile = IsolatedStorageFile.GetUserStoreForDomain();

// Open or create a writable file.
IsolatedStorageFileStream isoStream =
    new IsolatedStorageFileStream(this.userName,
    FileMode.OpenOrCreate,
    FileAccess.Write,
    isoFile);

StreamWriter writer = new StreamWriter(isoStream);
writer.WriteLine(this.NewsUrl);
writer.WriteLine(this.SportsUrl);
// Calculate the amount of space used to record the user's preferences.
double d = isoFile.CurrentSize / isoFile.MaximumSize;
Console.WriteLine("CurrentSize = " + isoFile.CurrentSize.ToString());
Console.WriteLine("MaximumSize = " + isoFile.MaximumSize.ToString());
// StreamWriter.Close implicitly closes isoStream.
writer.Close();
isoFile.Dispose();
isoFile.Close();
return d;
Dim isoFile As IsolatedStorageFile
isoFile = IsolatedStorageFile.GetUserStoreForDomain()

' Open or create a writable file.
Dim isoStream As New IsolatedStorageFileStream(Me.userName, FileMode.OpenOrCreate, _
    FileAccess.Write, isoFile)

Dim writer As New StreamWriter(isoStream)
writer.WriteLine(Me.NewsUrl)
writer.WriteLine(Me.SportsUrl)
' Calculate the amount of space used to record the user's preferences.
Dim d As Double = Convert.ToDouble(isoFile.CurrentSize) / Convert.ToDouble(isoFile.MaximumSize)
Console.WriteLine(("CurrentSize = " & isoFile.CurrentSize.ToString()))
Console.WriteLine(("MaximumSize = " & isoFile.MaximumSize.ToString()))
' StreamWriter.Close implicitly closes isoStream.
writer.Close()
isoFile.Dispose()
isoFile.Close()
Return d

注釈

同じアセンブリ コードでは、異なるアプリケーションのコンテキストで使用される場合、異なる分離ストアが使用されます。

GetMachineStoreForDomain は、次のコードと機能的に同じです。

isoFile = IsolatedStorageFile::GetStore(IsolatedStorageScope::Assembly |
    IsolatedStorageScope::Domain | IsolatedStorageScope::Machine,
    (Type^)nullptr, (Type^)nullptr);
isoFile = IsolatedStorageFile.GetStore(IsolatedStorageScope.Assembly |
    IsolatedStorageScope.Domain | IsolatedStorageScope.Machine,
    null, null);
isoFile = IsolatedStorageFile.GetStore(IsolatedStorageScope.Assembly Or _
    IsolatedStorageScope.Domain Or IsolatedStorageScope.Machine, _
    Nothing, Nothing)

同じアプリケーション ドメイン内で実行されている異なるアセンブリには、常に個別の分離ストアがあります。

注意

GetUserStoreForDomainは、アセンブリがインストールされているアプリケーション ドメインに が含IsolatedStorageFilePermissionまれていない場合、クォータなしで オブジェクトを返IsolatedStorageFileします。 後で、クォータを持たない オブジェクトをIsolatedStorageFile使用して オブジェクトを作成IsolatedStorageFileしようとすると、 でIsolatedStorageException失敗します。

適用対象

こちらもご覧ください