RegistryPermission RegistryPermission RegistryPermission RegistryPermission Class

Definition

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)]
[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
Inheritance
RegistryPermissionRegistryPermissionRegistryPermissionRegistryPermission
Attributes
ComVisibleAttribute SerializableAttribute
Implements

Remarks

RegistryPermission describes protected operations on registry variables. 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.

The allowed registry access types are defined by RegistryPermissionAccess. 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.

Note

In versions of the .NET Framework before the .NET Framework 4, you could use the CodeAccessPermission.Deny method to prevent inadvertent access to system resources by trusted code. 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. For information about running an application in a sandbox, see How to: Run Partially Trusted Code in a Sandbox.

Constructors

RegistryPermission(PermissionState) RegistryPermission(PermissionState) RegistryPermission(PermissionState) RegistryPermission(PermissionState)

Initializes a new instance of the RegistryPermission class with either fully restricted or unrestricted permission as specified.

RegistryPermission(RegistryPermissionAccess, AccessControlActions, String) RegistryPermission(RegistryPermissionAccess, AccessControlActions, String) RegistryPermission(RegistryPermissionAccess, AccessControlActions, String) RegistryPermission(RegistryPermissionAccess, AccessControlActions, String)

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(RegistryPermissionAccess, String) RegistryPermission(RegistryPermissionAccess, String) RegistryPermission(RegistryPermissionAccess, String)

Initializes a new instance of the RegistryPermission class with the specified access to the specified registry variables.

Methods

AddPathList(RegistryPermissionAccess, AccessControlActions, String) AddPathList(RegistryPermissionAccess, AccessControlActions, String) AddPathList(RegistryPermissionAccess, AccessControlActions, String) 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) AddPathList(RegistryPermissionAccess, String) AddPathList(RegistryPermissionAccess, String) AddPathList(RegistryPermissionAccess, String)

Adds access for the specified registry variables to the existing state of the permission.

Assert() Assert() Assert() 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. Using Assert() can create security issues.

(Inherited from CodeAccessPermission)
Copy() Copy() Copy() Copy()

Creates and returns an identical copy of the current permission.

Demand() Demand() Demand() Demand()

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.

(Inherited from CodeAccessPermission)
Deny() Deny() Deny() 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.

(Inherited from CodeAccessPermission)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determines whether the specified CodeAccessPermission object is equal to the current CodeAccessPermission.

(Inherited from CodeAccessPermission)
FromXml(SecurityElement) FromXml(SecurityElement) FromXml(SecurityElement) FromXml(SecurityElement)

Reconstructs a permission with a specified state from an XML encoding.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Gets a hash code for the CodeAccessPermission object that is suitable for use in hashing algorithms and data structures such as a hash table.

(Inherited from CodeAccessPermission)
GetPathList(RegistryPermissionAccess) GetPathList(RegistryPermissionAccess) GetPathList(RegistryPermissionAccess) GetPathList(RegistryPermissionAccess)

Gets paths for all registry variables with the specified RegistryPermissionAccess.

GetType() GetType() GetType() GetType()

Gets the Type of the current instance.

(Inherited from Object)
Intersect(IPermission) Intersect(IPermission) Intersect(IPermission) Intersect(IPermission)

Creates and returns a permission that is the intersection of the current permission and the specified permission.

IsSubsetOf(IPermission) IsSubsetOf(IPermission) IsSubsetOf(IPermission) IsSubsetOf(IPermission)

Determines whether the current permission is a subset of the specified permission.

IsUnrestricted() IsUnrestricted() IsUnrestricted() IsUnrestricted()

Returns a value indicating whether the current permission is unrestricted.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
PermitOnly() PermitOnly() PermitOnly() 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.

(Inherited from CodeAccessPermission)
SetPathList(RegistryPermissionAccess, String) SetPathList(RegistryPermissionAccess, String) SetPathList(RegistryPermissionAccess, String) SetPathList(RegistryPermissionAccess, String)

Sets new access for the specified registry variable names to the existing state of the permission.

ToString() ToString() ToString() ToString()

Creates and returns a string representation of the current permission object.

(Inherited from CodeAccessPermission)
ToXml() ToXml() ToXml() ToXml()

Creates an XML encoding of the permission and its current state.

Union(IPermission) Union(IPermission) Union(IPermission) Union(IPermission)

Creates a permission that is the union of the current permission and the specified permission.

Explicit Interface Implementations

IPermission.Demand() IPermission.Demand() IPermission.Demand() IPermission.Demand() Inherited from CodeAccessPermission
IStackWalk.Assert() IStackWalk.Assert() IStackWalk.Assert() IStackWalk.Assert() Inherited from CodeAccessPermission
IStackWalk.Demand() IStackWalk.Demand() IStackWalk.Demand() IStackWalk.Demand() Inherited from CodeAccessPermission
IStackWalk.Deny() IStackWalk.Deny() IStackWalk.Deny() IStackWalk.Deny() Inherited from CodeAccessPermission
IStackWalk.PermitOnly() IStackWalk.PermitOnly() IStackWalk.PermitOnly() IStackWalk.PermitOnly() Inherited from CodeAccessPermission

Applies to

See Also