FileIOPermissionAttribute クラス
アセンブリ: mscorlib (mscorlib.dll 内)

<SerializableAttribute> _ <ComVisibleAttribute(True)> _ <AttributeUsageAttribute(AttributeTargets.Assembly Or AttributeTargets.Class Or AttributeTargets.Struct Or AttributeTargets.Constructor Or AttributeTargets.Method, AllowMultiple:=True, Inherited:=False)> _ Public NotInheritable Class FileIOPermissionAttribute Inherits CodeAccessSecurityAttribute
[SerializableAttribute] [ComVisibleAttribute(true)] [AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method, AllowMultiple=true, Inherited=false)] public sealed class FileIOPermissionAttribute : CodeAccessSecurityAttribute
[SerializableAttribute] [ComVisibleAttribute(true)] [AttributeUsageAttribute(AttributeTargets::Assembly|AttributeTargets::Class|AttributeTargets::Struct|AttributeTargets::Constructor|AttributeTargets::Method, AllowMultiple=true, Inherited=false)] public ref class FileIOPermissionAttribute sealed : public CodeAccessSecurityAttribute
/** @attribute SerializableAttribute() */ /** @attribute ComVisibleAttribute(true) */ /** @attribute AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method, AllowMultiple=true, Inherited=false) */ public final class FileIOPermissionAttribute extends CodeAccessSecurityAttribute
SerializableAttribute ComVisibleAttribute(true) AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method, AllowMultiple=true, Inherited=false) public final class FileIOPermissionAttribute extends CodeAccessSecurityAttribute

ファイルおよびディレクトリは、絶対パスを使用して指定されます。ファイルにアクセスする場合は、ファイルを作成または開くときに、セキュリティ チェックが実行されます。ファイルを閉じて再度開かない限り、セキュリティ チェックが再び行われることはありません。ファイルに最初にアクセスしたときにアクセス許可を確認することによって、セキュリティ チェックがアプリケーションのパフォーマンスに与える影響を最小限にします。これは、ファイルを開く回数は 1 回だけですが、読み取りと書き込みは複数回行うことができるためです。
宣言の許容スコープは、使用する SecurityAction によって異なります。
セキュリティ属性によって宣言されたセキュリティ情報は、属性ターゲットのメタデータに格納され、実行時にシステムによってアクセスされます。セキュリティ属性は宣言セキュリティにだけ使用されます。強制セキュリティの場合は、対応するアクセス許可クラスを使用します。
![]() |
---|
Unrestricted FileIOPermission は、1 つのファイルにアクセスするための複数のパス名も含め、ファイル システム内のすべてのパスに対するアクセス許可を与えます。ファイルへのアクセスを Deny によって拒否するには、そのファイルへの有効なパスをすべて Deny によって拒否する必要があります。たとえば、\\server\share をネットワーク ドライブ X に割り当てた場合、\\server\share\file へのアクセスを Deny によって拒否するには、そのファイルにアクセスするために使用できる \\server\share\file、X:\file などのパスをすべて Deny によって拒否する必要があります。 |

指定したファイルへのフル アクセスのための FileIOPermission を要求する正しい方法と、コードを実行するためには少なくともこのアクセス許可が必要であることを次の宣言属性の例に示します。
<Assembly: FileIOPermissionAttribute(SecurityAction.RequestMinimum, _ All := "C:\example\sample.txt")> 'In Visual Basic, you must specify that you are using the assembly scope when making a request.
[assembly:FileIOPermissionAttribute(SecurityAction.RequestMinimum, All="C:\\example\\sample.txt")] //In C#, you must specify that you are using the assembly scope when making a request.
[assembly:FileIOPermissionAttribute(SecurityAction::RequestMinimum,All="C:\\example\\sample.txt")]; //In C++, you must specify that you are using the assembly scope when making a request.
/** @assembly FileIOPermissionAttribute(SecurityAction.RequestMinimum, All = "C:\\example\\sample.txt") */ // In VJ#, you must specify that you are using the assembly scope // when making a request.
リンク時に、呼び出し元のコードに無制限の FileIOPermission を含めることを要求する方法を次の例に示します。通常、メソッドやクラスを不正の可能性があるコードから保護するための要求をマネージ ライブラリ (DLL) で作成します。

System.Attribute
System.Security.Permissions.SecurityAttribute
System.Security.Permissions.CodeAccessSecurityAttribute
System.Security.Permissions.FileIOPermissionAttribute


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- FileIOPermissionAttribute クラスのページへのリンク