次の方法で共有


EnvironmentPermission.GetPathList メソッド

指定した EnvironmentPermissionAccess が与えられている環境変数をすべて取得します。

Public Function GetPathList( _
   ByVal flag As EnvironmentPermissionAccess _) As String
[C#]
public string GetPathList(EnvironmentPermissionAccessflag);
[C++]
public: String* GetPathList(EnvironmentPermissionAccessflag);
[JScript]
public function GetPathList(
   flag : EnvironmentPermissionAccess) : String;

パラメータ

戻り値

選択されたフラグの環境変数の (セミコロン区切りの) リスト。

例外

例外の種類 条件
ArgumentException flag が有効な EnvironmentPermissionAccess 値ではありません。

または

flag が、複数の種類の環境変数アクセス許可を表す AllAccess か、どの種類の環境変数アクセス許可も表さない NoAccess です。

解説

このメソッドを使用して、現在のアクセス許可の状態を取得します。 ReadWrite の両方のアクセス状態を取得するには、このメソッドを 2 回呼び出す必要があります。

メモ    flag パラメータに指定できるのは、単一の種類の環境変数アクセス許可を表す EnvironmentPermissionAccess の値だけです。これらの値は、 ReadWrite です。 NoAccess および AllAccess は、単一の種類の環境変数アクセス許可を表さないため、 flag では使用できません。

使用例

 
' AddPathList adds access for the specified environment variables to the existing state of the permission.
' SetPathList Sets the specified access to the specified environment variables to the existing state 
' of the permission.
' GetPathList gets all environment variables with the specified EnvironmentPermissionAccess.
Private Function SetGetPathListDemo() As Boolean
    Try
        Console.WriteLine("********************************************************" & ControlChars.Lf)

        Dim envPerm1 As EnvironmentPermission
        Console.WriteLine("Creating an EnvironmentPermission with AllAccess rights for 'TMP'")
        envPerm1 = New EnvironmentPermission(EnvironmentPermissionAccess.AllAccess, "TMP")
        Console.WriteLine("Adding 'TEMP' to the write access list, and 'windir' to the read access list.")
        envPerm1.AddPathList(EnvironmentPermissionAccess.Write, "TEMP")
        envPerm1.AddPathList(EnvironmentPermissionAccess.Read, "windir")
        Console.WriteLine(("Read access list before SetPathList = " & envPerm1.GetPathList(EnvironmentPermissionAccess.Read)))
        Console.WriteLine("Setting read access to 'TMP'")
        envPerm1.SetPathList(EnvironmentPermissionAccess.Read, "TMP")
        Console.WriteLine(("Read access list after SetPathList = " & envPerm1.GetPathList(EnvironmentPermissionAccess.Read)))
        Console.WriteLine(("Write access list = " & envPerm1.GetPathList(EnvironmentPermissionAccess.Write)))
        Console.WriteLine(("Write access environment variables = " & envPerm1.GetPathList(EnvironmentPermissionAccess.AllAccess)))
    Catch e As ArgumentException
        ' EnvironmentPermissionAccess.AllAccess cannot be used as a parameter for GetPathList.
        Console.WriteLine(("An ArgumentException occurred as a result of using AllAccess. " _
        & " This property cannot be used as a parameter in GetPathList, because it represents " _
        & "more than one type of environment variable : " & ControlChars.Lf & e.ToString()))
    End Try

    Return True
End Function 'SetGetPathListDemo


[C#] 
// AddPathList adds access for the specified environment variables to the existing state of the permission.
// SetPathList Sets the specified access to the specified environment variables to the existing state 
// of the permission.
// GetPathList gets all environment variables with the specified EnvironmentPermissionAccess.
private bool SetGetPathListDemo()
{
    try
    {
        Console.WriteLine("********************************************************\n");

        EnvironmentPermission envPerm1;
        Console.WriteLine("Creating an EnvironmentPermission with AllAccess rights for 'TMP'");
        envPerm1 = new EnvironmentPermission(EnvironmentPermissionAccess.AllAccess, "TMP");
        Console.WriteLine("Adding 'TEMP' to the write access list, and 'windir' to the read access list.");
        envPerm1.AddPathList(EnvironmentPermissionAccess.Write, "TEMP");
        envPerm1.AddPathList(EnvironmentPermissionAccess.Read, "windir");
        Console.WriteLine("Read access list before SetPathList = " 
            + envPerm1.GetPathList(EnvironmentPermissionAccess.Read));
        Console.WriteLine("Setting read access to 'TMP'");
        envPerm1.SetPathList(EnvironmentPermissionAccess.Read, "TMP");
        Console.WriteLine("Read access list after SetPathList = " 
            + envPerm1.GetPathList(EnvironmentPermissionAccess.Read));
        Console.WriteLine("Write access list = " + envPerm1.GetPathList(EnvironmentPermissionAccess.Write));
        Console.WriteLine("Write access environment variables = " 
            + envPerm1.GetPathList(EnvironmentPermissionAccess.AllAccess));
    }
    catch (ArgumentException e)
    {
        // EnvironmentPermissionAccess.AllAccess cannot be used as a parameter for GetPathList.
        Console.WriteLine("An ArgumentException occurred as a result of using AllAccess. " 
            + " This property cannot be used as a parameter in GetPathList, because it represents " 
            + "more than one type of environment variable : \n" + e);
    }

    return true;        
}

[C++] 
// AddPathList adds access for the specified environment variables to the existing state of the permission.
// SetPathList Sets the specified access to the specified environment variables to the existing state
// of the permission.
// GetPathList gets all environment variables with the specified EnvironmentPermissionAccess.
private:
bool SetGetPathListDemo() {
   try {
      Console::WriteLine(S"********************************************************\n");

      EnvironmentPermission* envPerm1;
      Console::WriteLine(S"Creating an EnvironmentPermission with AllAccess rights for 'TMP'");
      envPerm1 = new EnvironmentPermission(EnvironmentPermissionAccess::AllAccess, S"TMP");
      Console::WriteLine(S"Adding 'TEMP' to the write access list, and 'windir' to the read access list.");
      envPerm1->AddPathList(EnvironmentPermissionAccess::Write, S"TEMP");
      envPerm1->AddPathList(EnvironmentPermissionAccess::Read, S"windir");
      Console::WriteLine(S"Read access list before SetPathList = {0}", envPerm1->GetPathList(EnvironmentPermissionAccess::Read));
      Console::WriteLine(S"Setting read access to 'TMP'");
      envPerm1->SetPathList(EnvironmentPermissionAccess::Read, S"TMP");
      Console::WriteLine(S"Read access list after SetPathList = {0}", envPerm1->GetPathList(EnvironmentPermissionAccess::Read));
      Console::WriteLine(S"Write access list = {0}", envPerm1->GetPathList(EnvironmentPermissionAccess::Write));
      Console::WriteLine(S"Write access environment variables = {0}", envPerm1->GetPathList(EnvironmentPermissionAccess::AllAccess));
   } catch (ArgumentException* e) {
      // EnvironmentPermissionAccess::AllAccess cannot be used as a parameter for GetPathList.
      Console::WriteLine(S"An ArgumentException occurred as a result of using AllAccess."
         S"  This property cannot be used as a parameter in GetPathList, because it represents more than one type of environment variable :\n{0}", e);
   }

   return true;
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

EnvironmentPermission クラス | EnvironmentPermission メンバ | System.Security.Permissions 名前空間