FileIOPermission.GetPathList メソッド
アセンブリ: mscorlib (mscorlib.dll 内)
構文
Dim instance As FileIOPermission Dim access As FileIOPermissionAccess Dim returnValue As String() returnValue = instance.GetPathList(access)
戻り値
access パラメータで指定されたアクセス許可が与えられているファイルおよびディレクトリのパスを含んでいる配列。
このメソッドを使用して、現在のアクセス許可の状態を取得します。Read アクセスと Write アクセスの両方の状態を取得するには、このメソッドを 2 回呼び出す必要があります。
メモ |
---|
access パラメータに指定できるのは、単一の種類のファイル アクセス許可を表す FileIOPermissionAccess の値だけです。これらの値は、Read、Write、Append、および PathDiscovery です。access には、NoAccess および AllAccess を使用できません。これらは、単一の種類のファイル アクセス許可を表さないためです。 |
Private Function SetGetPathListDemo() As Boolean Try Console.WriteLine("********************************************************" & ControlChars.Lf) Dim fileIOPerm1 As FileIOPermission Console.WriteLine("Creating a FileIOPermission with AllAccess rights for 'C:\Examples\Test\TestFile.txt") fileIOPerm1 = New FileIOPermission(FileIOPermissionAccess.AllAccess, "C:\Examples\Test\TestFile.txt") Console.WriteLine("Adding 'C:\Temp' to the write access list, and " & ControlChars.Lf & " 'C:\Examples\Test' to read access.") fileIOPerm1.AddPathList(FileIOPermissionAccess.Write, "C:\Temp") fileIOPerm1.AddPathList(FileIOPermissionAccess.Read, "C:\Examples\Test") Dim paths As String() = fileIOPerm1.GetPathList(FileIOPermissionAccess.Read) Console.WriteLine("Read access before SetPathList = ") Dim path As String For Each path In paths Console.WriteLine((ControlChars.Tab & path)) Next path Console.WriteLine("Setting the read access list to " & ControlChars.Lf & "'C:\Temp'") fileIOPerm1.SetPathList(FileIOPermissionAccess.Read, "C:\Temp") paths = fileIOPerm1.GetPathList(FileIOPermissionAccess.Read) Console.WriteLine("Read access list after SetPathList = ") For Each path In paths Console.WriteLine((ControlChars.Tab & path)) Next path paths = fileIOPerm1.GetPathList(FileIOPermissionAccess.Write) Console.WriteLine("Write access list after SetPathList = ") For Each path In paths Console.WriteLine((ControlChars.Tab & path)) Next path Dim pathList() As String pathList = fileIOPerm1.GetPathList(FileIOPermissionAccess.AllAccess) Catch e As ArgumentException ' FileIOPermissionAccess.AllAccess can not 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 file variable access. : " & ControlChars.Lf & e.ToString())) End Try Return True End Function 'SetGetPathListDemo
private bool SetGetPathListDemo() { try { Console.WriteLine("********************************************************\n"); FileIOPermission fileIOPerm1; Console.WriteLine("Creating a FileIOPermission with AllAccess rights for 'C:\\Examples\\Test\\TestFile.txt"); fileIOPerm1 = new FileIOPermission(FileIOPermissionAccess.AllAccess, "C:\\Examples\\Test\\TestFile.txt"); Console.WriteLine("Adding 'C:\\Temp' to the write access list, and \n 'C:\\Examples\\Test' to read access."); fileIOPerm1.AddPathList(FileIOPermissionAccess.Write, "C:\\Temp"); fileIOPerm1.AddPathList(FileIOPermissionAccess.Read, "C:\\Examples\\Test"); string[] paths = fileIOPerm1.GetPathList(FileIOPermissionAccess.Read); Console.WriteLine("Read access before SetPathList = "); foreach (string path in paths) { Console.WriteLine("\t" + path); } Console.WriteLine("Setting the read access list to \n'C:\\Temp'"); fileIOPerm1.SetPathList(FileIOPermissionAccess.Read, "C:\\Temp"); paths = fileIOPerm1.GetPathList(FileIOPermissionAccess.Read); Console.WriteLine("Read access list after SetPathList = "); foreach (string path in paths) { Console.WriteLine("\t" + path); } paths = fileIOPerm1.GetPathList(FileIOPermissionAccess.Write); Console.WriteLine("Write access list after SetPathList = "); foreach (string path in paths) { Console.WriteLine("\t" + path); } Console.WriteLine("Write access = \n" + fileIOPerm1.GetPathList(FileIOPermissionAccess.AllAccess)); } catch (ArgumentException e) { // FileIOPermissionAccess.AllAccess can not 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 file variable access. : \n" + e); } return true; }
bool SetGetPathListDemo() { try { Console::WriteLine( "********************************************************\n" ); FileIOPermission^ fileIOPerm1; Console::WriteLine( "Creating a FileIOPermission with AllAccess rights for 'C:\\Examples\\Test\\TestFile.txt" ); fileIOPerm1 = gcnew FileIOPermission( FileIOPermissionAccess::AllAccess,"C:\\Examples\\Test\\TestFile.txt" ); Console::WriteLine( "Adding 'C:\\Temp' to the write access list, and \n 'C:\\Examples\\Test' to read access." ); fileIOPerm1->AddPathList( FileIOPermissionAccess::Write, "C:\\Temp" ); fileIOPerm1->AddPathList( FileIOPermissionAccess::Read, "C:\\Examples\\Test" ); array<String^>^paths = fileIOPerm1->GetPathList( FileIOPermissionAccess::Read ); Console::WriteLine( "Read access before SetPathList = " ); IEnumerator^ myEnum = paths->GetEnumerator(); while ( myEnum->MoveNext() ) { String^ path = safe_cast<String^>(myEnum->Current); Console::WriteLine( "\t{0}", path ); } Console::WriteLine( "Setting the read access list to \n'C:\\Temp'" ); fileIOPerm1->SetPathList( FileIOPermissionAccess::Read, "C:\\Temp" ); paths = fileIOPerm1->GetPathList( FileIOPermissionAccess::Read ); Console::WriteLine( "Read access list after SetPathList = " ); IEnumerator^ myEnum1 = paths->GetEnumerator(); while ( myEnum1->MoveNext() ) { String^ path = safe_cast<String^>(myEnum1->Current); Console::WriteLine( "\t{0}", path ); } paths = fileIOPerm1->GetPathList( FileIOPermissionAccess::Write ); Console::WriteLine( "Write access list after SetPathList = " ); IEnumerator^ myEnum2 = paths->GetEnumerator(); while ( myEnum2->MoveNext() ) { String^ path = safe_cast<String^>(myEnum2->Current); Console::WriteLine( "\t{0}", path ); } Console::WriteLine( "Write access = \n{0}", fileIOPerm1->GetPathList( FileIOPermissionAccess::AllAccess ) ); } catch ( ArgumentException^ e ) { // FileIOPermissionAccess.AllAccess can not 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 file variable access. : \n{0}", e ); } return true; }
// AllAccess // AddPathList adds access for the specified files and directories to the // existing state of the permission. // SetPathList sets the specified access to the specified files and // directories, replacing the existing state of the permission. // GetPathList gets all files and directories that have the specified // FileIOPermissionAccess. private boolean SetGetPathListDemo() { try { Console.WriteLine("****************************" + "****************************\n"); FileIOPermission fileIOPerm1; Console.WriteLine("Creating a FileIOPermission with AllAccess " + "rights for 'C:\\Examples\\Test\\TestFile.txt"); fileIOPerm1 = new FileIOPermission( FileIOPermissionAccess.AllAccess, "C:\\Examples\\Test\\TestFile.txt"); Console.WriteLine("Adding 'C:\\Temp' to the write access " + "list, and \n " + "'C:\\Examples\\Test' to read access."); fileIOPerm1.AddPathList(FileIOPermissionAccess.Write, "C:\\Temp"); fileIOPerm1.AddPathList(FileIOPermissionAccess.Read, "C:\\Examples\\Test"); String paths[] = fileIOPerm1.GetPathList( FileIOPermissionAccess.Read); Console.WriteLine("Read access before SetPathList = "); for (int iCtr = 0; iCtr < paths.length; iCtr++) { String path = paths[iCtr]; Console.WriteLine(("\t" + path)); } Console.WriteLine("Setting the read access list to \n'C:\\Temp'"); fileIOPerm1.SetPathList(FileIOPermissionAccess.Read, "C:\\Temp"); paths = fileIOPerm1.GetPathList(FileIOPermissionAccess.Read); Console.WriteLine("Read access list after SetPathList = "); for (int iCtr = 0; iCtr < paths.length; iCtr++) { String path = paths[iCtr]; Console.WriteLine(("\t" + path)); } paths = fileIOPerm1.GetPathList(FileIOPermissionAccess.Write); Console.WriteLine("Write access list after SetPathList = "); for (int iCtr = 0; iCtr < paths.length; iCtr++) { String path = paths[iCtr]; Console.WriteLine(("\t" + path)); } Console.WriteLine(("Write access = \n" + fileIOPerm1.GetPathList(FileIOPermissionAccess.AllAccess))); } catch(ArgumentException e){ // FileIOPermissionAccess.AllAccess can not 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 " + "file variable access. : \n" + e)); } return true ; } //SetGetPathListDemo
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
- FileIOPermission.GetPathList メソッドのページへのリンク