RegistryPermission クラス

定義

レジストリ変数にアクセスする権利を制御します。Controls the ability to access registry variables. このクラスは継承できません。This class cannot be inherited.

public ref class RegistryPermission sealed : System::Security::CodeAccessPermission, System::Security::Permissions::IUnrestrictedPermission
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class RegistryPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
type RegistryPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
Public NotInheritable Class RegistryPermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
継承
RegistryPermission
属性
実装

注釈

RegistryPermissionレジストリ変数に対する保護された操作について説明します。RegistryPermission describes protected operations on registry variables. レジストリ変数は、RegistryPermission を持たないコードがアクセスできるメモリの場所には格納しないようにする必要があります。Registry variables should not be stored in memory locations where code without RegistryPermission can access them. 信頼されていない呼び出し元にレジストリオブジェクトが渡された場合は、誤用される可能性があります。If the registry object is passed to an untrusted caller it can be misused.

許可されるレジストリアクセスの種類はRegistryPermissionAccess、によって定義されます。The allowed registry access types are defined by RegistryPermissionAccess. 複数の種類のアクセスが必要な場合は、次のコードサンプルに示すように、ビットごとの OR 演算を使用して組み合わせることができます。If more than one type of access is desired, they can be combined using the bitwise OR operation as shown in the code sample that follows.

レジストリアクセス許可は、正規の絶対パスの観点で定義されています。チェックは常に標準のパス名を使用して行う必要があります。Registry permission is defined in terms of canonical absolute paths; checks should always be made with canonical pathnames. キーアクセスは、含まれるすべての値とその下のすべての変数にアクセスすることを意味します。Key access implies access to all values it contains and all variables under it.

注意

より前.NET Framework 4.NET Framework 4のバージョンの .NET Framework では、 CodeAccessPermission.Denyメソッドを使用して、信頼されたコードによってシステムリソースに誤ってアクセスすることを防ぐことができました。In versions of the .NET Framework before the .NET Framework 4.NET Framework 4, you could use the CodeAccessPermission.Deny method to prevent inadvertent access to system resources by trusted code. Denyは互換性のために残されています。また、リソースへのアクセスは、アセンブリに与えられたアクセス許可セットによってのみ決定されるようになりました。Deny is now obsolete, and access to resources is now determined solely by the granted permission set for an assembly. ファイルへのアクセスを制限するには、サンドボックスで部分信頼コードを実行し、コードがアクセスできるリソースにのみアクセス許可を割り当てる必要があります。To limit access to files, you must run partially trusted code in a sandbox and assign it permissions only to resources that the code is allowed to access. サンドボックスでアプリケーションを実行する方法については、「方法:Run Partially Trusted Code in a Sandbox」 (方法: サンドボックスで部分信頼コードを実行する) を参照してください。For information about running an application in a sandbox, see How to: Run Partially Trusted Code in a Sandbox.

コンストラクター

RegistryPermission(PermissionState)

制限されたアクセス許可か無制限のアクセス許可のいずれかを指定して、RegistryPermission クラスの新しいインスタンスを初期化します。Initializes a new instance of the RegistryPermission class with either fully restricted or unrestricted permission as specified.

RegistryPermission(RegistryPermissionAccess, AccessControlActions, String)

レジストリ変数へのアクセスと、レジストリ コントロール情報へのアクセス許可を指定して、RegistryPermission クラスの新しいインスタンスを初期化します。Initializes a new instance of the RegistryPermission class with the specified access to the specified registry variables and the specified access rights to registry control information.

RegistryPermission(RegistryPermissionAccess, String)

指定したレジストリ変数への指定したアクセスで RegistryPermission クラスの新しいインスタンスを初期化します。Initializes a new instance of the RegistryPermission class with the specified access to the specified registry variables.

メソッド

AddPathList(RegistryPermissionAccess, AccessControlActions, String)

指定したレジストリ変数のアクセスを既存のアクセス許可の状態に追加し、レジストリ アクセス許可のアクセスとアクセス コントロールのアクションを指定します。Adds access for the specified registry variables to the existing state of the permission, specifying registry permission access and access control actions.

AddPathList(RegistryPermissionAccess, String)

指定したレジストリ変数へのアクセス権を既存のアクセス許可の状態に追加します。Adds access for the specified registry variables to the existing state of the permission.

Assert()

呼び出し側コードが、このメソッドを呼び出すコードを通じて、アクセス許可要求によって保護されているリソースにアクセス可能であるということ、それも、スタックの中で上位に位置する呼び出し側にリソースへのアクセス許可が付与されていない場合でさえそれが可能であることを宣言します。Declares that the calling code can access the resource protected by a permission demand through the code that calls this method, even if callers higher in the stack have not been granted permission to access the resource. Assert() を使用すると、セキュリティ上の問題が発生することがあります。Using Assert() can create security issues.

(継承元 CodeAccessPermission)
Copy()

現在のアクセス許可の同一のコピーを作成して返します。Creates and returns an identical copy of the current permission.

Demand()

呼び出し履歴の上位にあるすべての呼び出し元に、現在のインスタンスによって指定されているアクセス許可が付与されていない場合、実行時に SecurityException を強制します。Forces a SecurityException at run time if all callers higher in the call stack have not been granted the permission specified by the current instance.

(継承元 CodeAccessPermission)
Deny()

呼び出し履歴内の上位の呼び出し元が、このメソッドを呼び出すコードを使用して、現在のインスタンスで指定されたリソースにアクセスしないようにします。Prevents callers higher in the call stack from using the code that calls this method to access the resource specified by the current instance.

(継承元 CodeAccessPermission)
Equals(Object)

指定した CodeAccessPermission オブジェクトが、現在の CodeAccessPermission と等しいかどうかを判断します。Determines whether the specified CodeAccessPermission object is equal to the current CodeAccessPermission.

(継承元 CodeAccessPermission)
FromXml(SecurityElement)

XML エンコードから指定された状態で、アクセス許可を再構築します。Reconstructs a permission with a specified state from an XML encoding.

GetHashCode()

ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適している、CodeAccessPermission オブジェクトのハッシュ コードを取得します。Gets a hash code for the CodeAccessPermission object that is suitable for use in hashing algorithms and data structures such as a hash table.

(継承元 CodeAccessPermission)
GetPathList(RegistryPermissionAccess)

指定した RegistryPermissionAccess を持つすべてのレジストリ変数のパスを取得します。Gets paths for all registry variables with the specified RegistryPermissionAccess.

GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
Intersect(IPermission)

現在のアクセス許可と指定したアクセス許可の積集合となるアクセス許可を作成して返します。Creates and returns a permission that is the intersection of the current permission and the specified permission.

IsSubsetOf(IPermission)

現在のアクセス許可が、指定したアクセス許可のサブセットであるかどうかを判断します。Determines whether the current permission is a subset of the specified permission.

IsUnrestricted()

現在のアクセス許可が無制限かどうかを示す値を返します。Returns a value indicating whether the current permission is unrestricted.

MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
PermitOnly()

呼び出し履歴内の上位の呼び出し元が、このメソッドを呼び出すコードでは一切リソースにアクセスできないようにします。ただし、現在のインスタンスで指定されているリソースは例外です。Prevents callers higher in the call stack from using the code that calls this method to access all resources except for the resource specified by the current instance.

(継承元 CodeAccessPermission)
SetPathList(RegistryPermissionAccess, String)

指定したレジストリ変数名への新しいアクセスを、アクセス許可の既存の状態に設定します。Sets new access for the specified registry variable names to the existing state of the permission.

ToString()

現在のアクセス許可オブジェクトの文字列形式を作成して返します。Creates and returns a string representation of the current permission object.

(継承元 CodeAccessPermission)
ToXml()

アクセス許可とその現在の状態の XML エンコードを作成します。Creates an XML encoding of the permission and its current state.

Union(IPermission)

現在のアクセス許可と指定されたアクセス許可の和集合であるアクセス許可を作成します。Creates a permission that is the union of the current permission and the specified permission.

明示的なインターフェイスの実装

IPermission.Demand() (継承元 CodeAccessPermission)
IStackWalk.Assert() (継承元 CodeAccessPermission)
IStackWalk.Demand() (継承元 CodeAccessPermission)
IStackWalk.Deny() (継承元 CodeAccessPermission)
IStackWalk.PermitOnly() (継承元 CodeAccessPermission)

適用対象

こちらもご覧ください