RegistryPermissionとは? わかりやすく解説

RegistryPermission クラス

レジストリ変数アクセスする権利制御します。このクラス継承できません。

名前空間: System.Security.Permissions
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class
 RegistryPermission
    Inherits CodeAccessPermission
    Implements IUnrestrictedPermission
Dim instance As RegistryPermission
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public sealed class RegistryPermission : CodeAccessPermission,
 IUnrestrictedPermission
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public ref class RegistryPermission sealed
 : public CodeAccessPermission, IUnrestrictedPermission
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class RegistryPermission extends
 CodeAccessPermission implements IUnrestrictedPermission
SerializableAttribute 
ComVisibleAttribute(true) 
public final class RegistryPermission extends
 CodeAccessPermission implements IUnrestrictedPermission
解説解説

RegistryPermission は、レジストリ変数操作対す保護方法管理しますレジストリ変数は、RegistryPermission持たないコードアクセスできるメモリ位置格納しないでくださいレジストリ オブジェクト信頼関係のない呼び出し元に渡されると、不正に使用される場合あります

許可するレジストリ アクセス種類は、RegistryPermissionAccess で定義します複数種類アクセス必要な場合は、次のコード サンプルで示すように、ビット単位OR 演算使用して組み合わせることができます

レジストリ アクセス許可は、標準絶対パス定義されます。常に標準パス名でチェックする必要がありますキーへのアクセスは、キー含まれるすべての値、およびキーの下にあるすべての変数へのアクセス意味します

注意に関するメモ注意

注 意 (メモ): RegistryPermissionは、HKEY_CURRENT_USER と HKEY_USERS を含めキーへのすべてのパス対すアクセス許可与えますファイルへのアクセスDeny によって拒否するには、そのファイルへの有効なパスをすべて Deny によって拒否する必要があります。たとえば、HKEY_CURRENT_USER\Software\Microsoft\Cryptography へのアクセスDeny によって拒否するには、HKEY_CURRENT_USER\Software\Microsoft\Cryptography、HKEY_USERS\.......\Software\Microsoft\Cryptography含め、そのキーアクセスするために使用できるすべてのパスDeny によって拒否する必要があります複数パス使用する場合は、PermitOnly と Deny組み合わせて使用することをお勧めます。この問題および PermitOnlyDeny使用法詳細については、「Deny メソッド使用」の「Deny使用による標準化の問題」を参照してください

使用例使用例

次のコード例では、RegistryPermissionf は CentralProcessor キーから値を読み取るためのアクセス許可表しますReadWriteRegistryPermissionAccess 列挙値です。

Dim f As New RegistryPermission(
 _
RegistryPermissionAccess.Read, _
"HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0")
RegistryPermission f = new RegistryPermission(
RegistryPermissionAccess.Read, 
"HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0");
RegistryPermission^ f = gcnew RegistryPermission(
   RegistryPermissionAccess::Read,
   "HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0"
 );
RegistryPermission f =  
    new RegistryPermission(RegistryPermissionAccess.Read,
        "HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\"
        + "System\\CentralProcessor\\0");

FloatingPointProcessor キー対す読み取りアクセス許可と書き込みアクセス許可RegistryPermissionf追加するコード例次に示します

f.AddPathList( _
RegistryPermissionAccess.Write Or RegistryPermissionAccess.Read,
 _
"HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\FloatingPointProcessor\0")
f.AddPathList(
RegistryPermissionAccess.Write | RegistryPermissionAccess.Read,
"HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\FloatingPointProcessor\\0");
f->AddPathList(
   (RegistryPermissionAccess) (RegistryPermissionAccess::Write | RegistryPermissionAccess::Read)
,
   "HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\FloatingPointProcessor\\0"
 );
f.AddPathList(RegistryPermissionAccess.Write |
    RegistryPermissionAccess.Read, "HKEY_LOCAL_MACHINE\\HARDWARE\\"
    + "DESCRIPTION\\System\\FloatingPointProcessor\\0");

RegistryPermission f は、CentralProcessor キー対す読み取りアクセス許可と、FloatingPointProcessor キー対す読み取りアクセス許可および書き込みアクセス許可表します

RegistryPermission メソッド動作を示すコード例次に示します。この例では、メソッド使用方法ではなくメソッド結果を示すことを目的としています。

' This sample demonstrates the IsSubsetOf, Union, Intersect, Copy, ToXml,
 FromXml
' GetPathList, AddPathList, and SetPathList methods
' of the RegistryPermission class.

Imports System
Imports System.Security
Imports System.Security.Permissions
Imports System.Collections

Public Class RegistryPermissionDemo
    Private readPerm1 As New RegistryPermission(RegistryPermissionAccess.Read, "HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0")
    Private readPerm2 As New
 RegistryPermission(RegistryPermissionAccess.Read, "HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION")
    Private readPerm3 As New RegistryPermission(RegistryPermissionAccess.Read, "HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\FloatingPointProcessor\0")
    Private createPerm1 As New RegistryPermission(RegistryPermissionAccess.Create, "HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0")
    Private readPerm4 As IPermission

    ' IsSubsetOf determines whether the current permission is a subset
 of the specified permission.
    Private Function IsSubsetOfDemo() As
 Boolean

        Dim returnValue As Boolean
 = True

        If readPerm1.IsSubsetOf(readPerm2) Then

            Console.WriteLine(readPerm1.GetPathList(RegistryPermissionAccess.Read)
 + vbLf + " is a subset of " + readPerm2.GetPathList(RegistryPermissionAccess.Read)
 + vbLf)
        Else
            Console.WriteLine(readPerm1.GetPathList(RegistryPermissionAccess.Read)
 + vbLf + " is not a subset of " + readPerm2.GetPathList(RegistryPermissionAccess.Read)
 + vbLf)
        End If
        If createPerm1.IsSubsetOf(readPerm1) Then

            Console.WriteLine("RegistryPermissionAccess.Create"
 + vbLf + " is a subset of " + "RegistryPermissionAccess.Read"
 + vbLf)
        Else
            Console.WriteLine("RegistryPermissionAccess.Create"
 + vbLf + " is not a subset of " + "RegistryPermissionAccess.Read"
 + vbLf)
        End If

        Return returnValue

    End Function 'IsSubsetOfDemo

    ' Union creates a new permission that is the union of the current
 permission and
    ' the specified permission.
    Private Function UnionDemo() As
 Boolean

        Dim returnValue As Boolean
 = True
        readPerm3 = CType(readPerm1.Union(readPerm2), RegistryPermission)

        If readPerm3 Is Nothing
 Then
            Console.WriteLine("The union of " + vbLf
 + readPerm1.GetPathList(RegistryPermissionAccess.Read) + " "
 + vbLf + "and " + readPerm2.GetPathList(RegistryPermissionAccess.Read) + " is null.")
        Else
            Console.WriteLine("The union of " + vbLf
 + readPerm1.GetPathList(RegistryPermissionAccess.Read) + " "
 + vbLf + "and " + readPerm2.GetPathList(RegistryPermissionAccess.Read) + " = " + vbLf + vbTab + CType(readPerm3,
 RegistryPermission).GetPathList(RegistryPermissionAccess.Read).ToString())
        End If

        Return returnValue

    End Function 'UnionDemo

    ' Intersect creates and returns a new permission that is the intersection
 of the
    ' current permission and the permission specified.
    Private Function IntersectDemo() As
 Boolean

        Dim returnValue As Boolean
 = True

        readPerm3 = CType(readPerm1.Intersect(readPerm2), RegistryPermission)
        If Not (readPerm3 Is
 Nothing) AndAlso Not (readPerm3.GetPathList(RegistryPermissionAccess.Read)
 Is Nothing) Then

            Console.WriteLine("The intersection of "
 + vbLf + readPerm1.GetPathList(RegistryPermissionAccess.Read) + "
 " + vbLf + "and " + readPerm2.GetPathList(RegistryPermissionAccess.Read) + " = " + vbLf
 + vbTab + CType(readPerm3, RegistryPermission).GetPathList(RegistryPermissionAccess.Read).ToString())
        Else
            Console.WriteLine("The intersection of "
 + vbLf + readPerm2.GetPathList(RegistryPermissionAccess.Read) + "
 " + vbLf + "and " + readPerm2.GetPathList(RegistryPermissionAccess.Read) + " is null. ")
        End If

        Return returnValue

    End Function 'IntersectDemo

    'Copy creates and returns an identical copy of the current permission.
    Private Function CopyDemo() As
 Boolean

        Dim returnValue As Boolean
 = True
        readPerm4 = CType(readPerm1.Copy(), RegistryPermission)
        If Not (readPerm4 Is
 Nothing) Then
            Console.WriteLine("Result of copy = "
 + readPerm4.ToXml().ToString() + vbLf)
        Else
            Console.WriteLine("Result of copy is null. "
 + vbLf)
        End If
        Return returnValue

    End Function 'CopyDemo

    ' ToXml creates an XML encoding of the permission and its current
 state; FromXml
    ' reconstructs a permission with the specified state from the XML
 encoding.
    Private Function ToFromXmlDemo() As
 Boolean

        Dim returnValue As Boolean
 = True
        readPerm2 = New RegistryPermission(PermissionState.None)
        readPerm2.FromXml(readPerm1.ToXml())
        Console.WriteLine("Result of ToFromXml = "
 + readPerm2.ToString() + vbLf)

        Return returnValue

    End Function 'ToFromXmlDemo

    ' AddPathList adds access for the specified registry variables to
 the existing state of the permission.
    ' SetPathList sets new access for the specified registry variable
 names to the existing state of the permission.
    ' GetPathList gets paths for all registry variables with the specified
 RegistryPermissionAccess.
    Private Function SetGetPathListDemo() As
 Boolean
        Try
            Console.WriteLine("********************************************************"
 + vbLf)

            Dim readPerm1 As RegistryPermission
            Console.WriteLine("Creating RegistryPermission with
 AllAccess rights for 'HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0'")
            readPerm1 = New RegistryPermission(RegistryPermissionAccess.AllAccess, "HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0")
            Console.WriteLine("Adding 'HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION'
 to the write access list, " + "and " + vbLf + " 'HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\FloatingPointProcessor\0'
 " + "to the read access list.")
            readPerm1.AddPathList(RegistryPermissionAccess.Write, "HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION")
            readPerm1.AddPathList(RegistryPermissionAccess.Read, "HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\FloatingPointProcessor\0")
            Console.WriteLine("Read access list before SetPathList
 = " + readPerm1.GetPathList(RegistryPermissionAccess.Read))
            Console.WriteLine("Setting read access rights to "
 + vbLf + "'HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0'")
            readPerm1.SetPathList(RegistryPermissionAccess.Read, "HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0")
            Console.WriteLine("Read access list after SetPathList
 = " + vbLf + readPerm1.GetPathList(RegistryPermissionAccess.Read))
            Console.WriteLine("Write access = " +
 vbLf + readPerm1.GetPathList(RegistryPermissionAccess.Write))
            Console.WriteLine("Write access Registry variables
 = " + vbLf + readPerm1.GetPathList(RegistryPermissionAccess.AllAccess))
        Catch e As ArgumentException
            ' RegistryPermissionAccess.AllAccess can not be used as
 a parameter for GetPathList.
            Console.WriteLine("An ArgumentException occured as
 a result of using AllAccess. " + _
            "AllAccess cannot be used as a parameter in GetPathList
 because it represents more than one " + _
            "type of registry variable access : "
 + vbLf + e.Message)
        End Try

        Return True

    End Function 'SetGetPathListDemo

    ' Invoke all demos.
    Public Function RunDemo() As
 Boolean

        Dim ret As Boolean
 = True
        Dim retTmp As Boolean
        ' Call IsSubset demo.
        If IsSubsetOfDemo() Then
            Console.Out.WriteLine("IsSubset demo completed successfully.")
        Else
            Console.Out.WriteLine("IsSubset demo failed.")
        End If
        ret = retTmp AndAlso ret

        ' Call the Union demo.
        retTmp = UnionDemo()
        If retTmp Then
            Console.Out.WriteLine("Union demo completed successfully.")
        Else
            Console.Out.WriteLine("Union demo failed.")
        End If
        ret = retTmp AndAlso ret

        ' Call the intersect demo.
        retTmp = UnionDemo()
        If retTmp Then
            Console.Out.WriteLine("Intersect demo completed successfully.")
        Else
            Console.Out.WriteLine("Intersect demo failed.")
        End If
        ret = retTmp AndAlso ret


        ' Call the Copy demo.
        retTmp = CopyDemo()
        If retTmp Then
            Console.Out.WriteLine("Copy demo completed successfully.")
        Else
            Console.Out.WriteLine("Copy demo failed.")
        End If
        ret = retTmp AndAlso ret

        ' Call the ToFromXml demo.
        retTmp = ToFromXmlDemo()
        If retTmp Then
            Console.Out.WriteLine("ToFromXml demo completed successfully.")
        Else
            Console.Out.WriteLine("ToFromXml demo failed.")
        End If
        ret = retTmp AndAlso ret

        ' Call the GetPathList demo.
        retTmp = SetGetPathListDemo()
        If retTmp Then
            Console.Out.WriteLine("SetGetPathList demo completed
 successfully.")
        Else
            Console.Out.WriteLine("SetGetPathList demo failed.")
        End If
        ret = retTmp AndAlso ret

        Return ret

    End Function 'RunDemo

    ' Test harness.
    Public Shared Sub Main(ByVal
 args() As String)
        Try
            Dim democase As New
 RegistryPermissionDemo()
            Dim ret As Boolean
 = democase.RunDemo()
            If ret Then
                Console.Out.WriteLine("The RegisterPermission
 demo completed successfully.")
                Console.Out.WriteLine("Press the Enter key to
 exit.")
                Dim consoleInput As String
 = Console.ReadLine()
                System.Environment.ExitCode = 100
            Else
                Console.Out.WriteLine("The RegisterPermission
 demo failed")
                Console.Out.WriteLine("Press the Enter key to
 exit.")
                Dim consoleInput As String
 = Console.ReadLine()
                System.Environment.ExitCode = 101
            End If
        Catch e As Exception
            Console.Out.WriteLine("The RegisterPermission demo
 failed")
            Console.WriteLine(e.ToString())
            Console.Out.WriteLine("Press the Enter key to exit.")
            Dim consoleInput As String
 = Console.ReadLine()
            System.Environment.ExitCode = 101
        End Try

    End Sub 'Main
End Class 'RegistryPermissionDemo

// This sample demonstrates the IsSubsetOf, Union, Intersect, Copy,
 ToXml, FromXml
// GetPathList, AddPathList, and SetPathList methods
// of the RegistryPermission class.


using System;
using System.Security;
using System.Security.Permissions;
using System.Collections;

[assembly: CLSCompliant(true)]

public class RegistryPermissionDemo
{
    RegistryPermission readPerm1 = new RegistryPermission(RegistryPermissionAccess.Read
,
        "HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0");
    RegistryPermission readPerm2 = new RegistryPermission(RegistryPermissionAccess.Read
,
       "HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION");
    RegistryPermission readPerm3 = new RegistryPermission(RegistryPermissionAccess.Read
,
    "HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\FloatingPointProcessor\\0");
    RegistryPermission createPerm1 = new RegistryPermission(RegistryPermissionAccess.Create
,
        "HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0");
    IPermission readPerm4;

    // IsSubsetOf determines whether the current permission is a subset
 of the specified permission.
    private bool IsSubsetOfDemo()
    {

        bool returnValue = true;

        if (readPerm1.IsSubsetOf(readPerm2))
        {

            Console.WriteLine(readPerm1.GetPathList(RegistryPermissionAccess.Read)
 +
                "\n is a subset of " + readPerm2.GetPathList(RegistryPermissionAccess.Read)
 + "\n");
        }
        else
        {
            Console.WriteLine(readPerm1.GetPathList(RegistryPermissionAccess.Read)
 +
                "\n is not a subset of " + readPerm2.GetPathList(RegistryPermissionAccess.Read)
 + "\n");
        }
        if (createPerm1.IsSubsetOf(readPerm1))
        {

            Console.WriteLine("RegistryPermissionAccess.Create" +
                "\n is a subset of " + "RegistryPermissionAccess.Read"
 + "\n");
        }
        else
        {
            Console.WriteLine("RegistryPermissionAccess.Create" +
                "\n is not a subset of " + "RegistryPermissionAccess.Read"
 + "\n");
        }

        return returnValue;
    }
    // Union creates a new permission that is the union of the current
 permission and
    // the specified permission.
    private bool UnionDemo()
    {

        bool returnValue = true;
        readPerm3 = (RegistryPermission)readPerm1.Union(readPerm2);

        if (readPerm3 == null)
        {
            Console.WriteLine("The union of \n" +
                readPerm1.GetPathList(RegistryPermissionAccess.Read) + " \nand
 "
                + readPerm2.GetPathList(RegistryPermissionAccess.Read) + " is
 null.");
        }
        else
        {
            Console.WriteLine("The union of \n" + readPerm1.GetPathList(RegistryPermissionAccess.Read)
 +
                " \nand " + readPerm2.GetPathList(RegistryPermissionAccess.Read)
 + " = \n\t"
                + ((RegistryPermission)readPerm3).GetPathList(RegistryPermissionAccess.Read).ToString());
        }

        return returnValue;

    }
    // Intersect creates and returns a new permission that is the intersection
 of the
    // current permission and the permission specified.
    private bool IntersectDemo()
    {

        bool returnValue = true;

        readPerm3 = (RegistryPermission)readPerm1.Intersect(readPerm2);
        if (readPerm3 != null && readPerm3.GetPathList(RegistryPermissionAccess.Read)
 != null)
        {

            Console.WriteLine("The intersection of \n" + readPerm1.GetPathList(RegistryPermissionAccess.Read)
                + " \nand " + readPerm2.GetPathList(RegistryPermissionAccess.Read)
 + " = \n\t"
                + ((RegistryPermission)readPerm3).GetPathList(RegistryPermissionAccess.Read).ToString());
        }
        else
        {
            Console.WriteLine("The intersection of \n" + readPerm2.GetPathList(RegistryPermissionAccess.Read)
                + " \nand " + readPerm2.GetPathList(RegistryPermissionAccess.Read)
 + " is null. ");
        }

        return returnValue;

    }
    //Copy creates and returns an identical copy of the current permission.
    private bool CopyDemo()
    {

        bool returnValue = true;
        readPerm4 = (RegistryPermission)readPerm1.Copy();
        if (readPerm4 != null)
        {
            Console.WriteLine("Result of copy = " + readPerm4.ToString()
 + "\n");
        }
        else
        {
            Console.WriteLine("Result of copy is null. \n");
        }
        return returnValue;
    }
    // ToXml creates an XML encoding of the permission and its current
 state; FromXml
    // reconstructs a permission with the specified state from the XML
 encoding.
    private bool ToFromXmlDemo()
    {

        bool returnValue = true;
        readPerm2 = new RegistryPermission(PermissionState.None);
        readPerm2.FromXml(readPerm1.ToXml());
        Console.WriteLine("Result of ToFromXml = " + readPerm2.ToString()
 + "\n");

        return returnValue;

    }
    // AddPathList adds access for the specified registry variables
 to the existing state of the permission.
    // SetPathList sets new access for the specified registry variable
 names to the existing state of the permission.
    // GetPathList gets paths for all registry variables with the specified
 RegistryPermissionAccess.
    private bool SetGetPathListDemo()
    {
        try
        {
            Console.WriteLine("********************************************************\n");

            RegistryPermission readPerm1;
            Console.WriteLine("Creating RegistryPermission with AllAccess rights
 for 'HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0'");
            readPerm1 = new RegistryPermission(RegistryPermissionAccess.AllAccess,
 "HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0");
            Console.WriteLine("Adding 'HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION'
 to the write access list, "
                + "and \n 'HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\FloatingPointProcessor\\0'
 "
                + "to the read access list.");
            readPerm1.AddPathList(RegistryPermissionAccess.Write, "HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION");
            readPerm1.AddPathList(RegistryPermissionAccess.Read,
                "HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\FloatingPointProcessor\\0");
            Console.WriteLine("Read access list before SetPathList = "
 +
                readPerm1.GetPathList(RegistryPermissionAccess.Read));
            Console.WriteLine("Setting read access rights to \n'HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0'");
            readPerm1.SetPathList(RegistryPermissionAccess.Read,
                "HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0");
            Console.WriteLine("Read access list after SetPathList = \n"
 +
                readPerm1.GetPathList(RegistryPermissionAccess.Read));
            Console.WriteLine("Write access = \n" +
                readPerm1.GetPathList(RegistryPermissionAccess.Write));
            Console.WriteLine("Write access Registry variables = \n" +
                readPerm1.GetPathList(RegistryPermissionAccess.AllAccess));
        }
        catch (ArgumentException e)
        {
            // RegistryPermissionAccess.AllAccess can not be used as
 a parameter for GetPathList.
            Console.WriteLine("An ArgumentException occured as a result of using
 AllAccess. "
                + "AllAccess cannot be used as a parameter in
 GetPathList because it represents more than one "
                + "type of registry variable access : \n" + e);
        }

        return true;
    }
    // Invoke all demos.
    public bool RunDemo()
    {

        bool ret = true;
        bool retTmp;
        // Call IsSubset demo.
        if (retTmp = IsSubsetOfDemo()) Console.Out.WriteLine("IsSubset
 demo completed successfully.");
        else Console.Out.WriteLine("IsSubset demo failed.");
        ret = retTmp && ret;

        // Call the Union demo.
        if (retTmp = UnionDemo()) Console.Out.WriteLine("Union
 demo completed successfully.");
        else Console.Out.WriteLine("Union demo failed.");
        ret = retTmp && ret;

        // Call the intersect demo.
        if (retTmp = IntersectDemo()) Console.Out.WriteLine("Intersect
 demo completed successfully.");
        else Console.Out.WriteLine("Intersect demo failed.");
        ret = retTmp && ret;


        // Call the Copy demo.
        if (retTmp = CopyDemo()) Console.Out.WriteLine("Copy
 demo completed successfully.");
        else Console.Out.WriteLine("Copy demo failed.");
        ret = retTmp && ret;

        // Call the ToFromXml demo.
        if (retTmp = ToFromXmlDemo()) Console.Out.WriteLine("ToFromXml
 demo completed successfully.");
        else Console.Out.WriteLine("ToFromXml demo failed.");
        ret = retTmp && ret;

        // Call the GetPathList demo.
        if (retTmp = SetGetPathListDemo()) Console.Out.WriteLine("SetGetPathList
 demo completed successfully.");
        else Console.Out.WriteLine("SetGetPathList demo failed.");
        ret = retTmp && ret;

        return (ret);

    }
    // Test harness.
    public static void Main(String[]
 args)
    {
        try
        {
            RegistryPermissionDemo democase = new RegistryPermissionDemo();
            bool ret = democase.RunDemo();
            if (ret)
            {
                Console.Out.WriteLine("The RegisterPermission demo completed
 successfully.");
                Console.Out.WriteLine("Press the Enter key to exit.");
                string consoleInput = Console.ReadLine();
                System.Environment.ExitCode = 100;
            }
            else
            {
                Console.Out.WriteLine("The RegisterPermission demo failed");
                Console.Out.WriteLine("Press the Enter key to exit.");
                string consoleInput = Console.ReadLine();
                System.Environment.ExitCode = 101;
            }
        }
        catch (Exception e)
        {
            Console.Out.WriteLine("The RegisterPermission demo failed");
            Console.WriteLine(e.ToString());
            Console.Out.WriteLine("Press the Enter key to exit.");
            string consoleInput = Console.ReadLine();
            System.Environment.ExitCode = 101;
        }
    }
}

継承階層継承階層
System.Object
   System.Security.CodeAccessPermission
    System.Security.Permissions.RegistryPermission
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
RegistryPermission メンバ
System.Security.Permissions 名前空間
RegistryPermissionAttribute
RegistryPermissionAccess
その他の技術情報
アクセス許可
アクセス許可要求

RegistryPermission コンストラクタ (RegistryPermissionAccess, String)

指定したレジストリ変数への指定したアクセスで RegistryPermission クラス新しインスタンス初期化します。

名前空間: System.Security.Permissions
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Sub New ( _
    access As RegistryPermissionAccess, _
    pathList As String _
)
Dim access As RegistryPermissionAccess
Dim pathList As String

Dim instance As New RegistryPermission(access,
 pathList)
public RegistryPermission (
    RegistryPermissionAccess access,
    string pathList
)
public:
RegistryPermission (
    RegistryPermissionAccess access, 
    String^ pathList
)
public RegistryPermission (
    RegistryPermissionAccess access, 
    String pathList
)
public function RegistryPermission (
    access : RegistryPermissionAccess, 
    pathList : String
)

パラメータ

access

RegistryPermissionAccess 値の 1 つ

pathList

アクセス許可与えられているレジストリ変数の (セミコロン区切りの) リスト

例外例外
例外種類条件

ArgumentException

access パラメータが、RegistryPermissionAccess の有効値ではありません。

または

pathList パラメータが、有効な文字列ではありません。

解説解説
使用例使用例

RegistryPermission(RegistryPermissionAccess,String) コンストラクタ使用するコード例次に示します。このコード例は、RegistryPermission クラストピック取り上げているコード例一部分です。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
RegistryPermission クラス
RegistryPermission メンバ
System.Security.Permissions 名前空間

RegistryPermission コンストラクタ (PermissionState)

制限されアクセス許可無制限アクセス許可いずれか指定して、RegistryPermission クラス新しインスタンス初期化します。

名前空間: System.Security.Permissions
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Sub New ( _
    state As PermissionState _
)
Dim state As PermissionState

Dim instance As New RegistryPermission(state)
public RegistryPermission (
    PermissionState state
)
public:
RegistryPermission (
    PermissionState state
)
public RegistryPermission (
    PermissionState state
)
public function RegistryPermission (
    state : PermissionState
)

パラメータ

state

PermissionState 値の 1 つ

例外例外
例外種類条件

ArgumentException

state パラメータが、PermissionState の有効値ではありません。

解説解説
使用例使用例

RegistryPermission(PermissionState) コンストラクタ使用するコード例次に示します。このコード例は、RegistryPermission クラストピック取り上げているコード例一部分です。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
RegistryPermission クラス
RegistryPermission メンバ
System.Security.Permissions 名前空間

RegistryPermission コンストラクタ

RegistryPermission クラス新しインスタンス初期化します。
オーバーロードの一覧オーバーロードの一覧

名前 説明
RegistryPermission (PermissionState) 制限されアクセス許可無制限アクセス許可いずれか指定してRegistryPermission クラス新しインスタンス初期化します。
RegistryPermission (RegistryPermissionAccess, String) 指定したレジストリ変数への指定したアクセスRegistryPermission クラス新しインスタンス初期化します。
RegistryPermission (RegistryPermissionAccess, AccessControlActions, String) レジストリ変数へのアクセスと、レジストリ コントロール情報へのアクセス許可指定してRegistryPermission クラス新しインスタンス初期化します。
参照参照

関連項目

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

RegistryPermission コンストラクタ (RegistryPermissionAccess, AccessControlActions, String)

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

レジストリ変数へのアクセスと、レジストリ コントロール情報へのアクセス許可指定して、RegistryPermission クラス新しインスタンス初期化します。

名前空間: System.Security.Permissions
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Sub New ( _
    access As RegistryPermissionAccess, _
    control As AccessControlActions, _
    pathList As String _
)
Dim access As RegistryPermissionAccess
Dim control As AccessControlActions
Dim pathList As String

Dim instance As New RegistryPermission(access,
 control, pathList)
public RegistryPermission (
    RegistryPermissionAccess access,
    AccessControlActions control,
    string pathList
)
public:
RegistryPermission (
    RegistryPermissionAccess access, 
    AccessControlActions control, 
    String^ pathList
)
public RegistryPermission (
    RegistryPermissionAccess access, 
    AccessControlActions control, 
    String pathList
)
public function RegistryPermission (
    access : RegistryPermissionAccess, 
    control : AccessControlActions, 
    pathList : String
)

パラメータ

access

RegistryPermissionAccess 値の 1 つ

control

AccessControlActions 値のビットごとの組み合わせ

pathList

アクセス許可与えられているレジストリ変数の (セミコロン区切りの) リスト

例外例外
例外種類条件

ArgumentException

access パラメータが、RegistryPermissionAccess の有効値ではありません。

または

pathList パラメータが、有効な文字列ではありません。

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
RegistryPermission クラス
RegistryPermission メンバ
System.Security.Permissions 名前空間

RegistryPermission メソッド


パブリック メソッドパブリック メソッド

  名前 説明
パブリック メソッド AddPathList オーバーロードされます指定したレジストリ変数へのアクセスアクセス許可既存の状態に追加します
パブリック メソッド Assert  アクセス許可要求によって保護されているリソースへのアクセス許可が、スタックの上位にある呼び出し元に与えられていない場合でも、呼び出しコードが、このメソッド呼び出すコード通じてリソースアクセスできるように宣言しますAssert使用すると、セキュリティ上の問題発生することがあります。 ( CodeAccessPermission から継承されます。)
パブリック メソッド Copy オーバーライドされます現在のアクセス許可コピー作成して返します
パブリック メソッド Demand  コール スタック内の上位にあるすべての呼び出し元に現在のインスタンスによって指定されているアクセス許可与えられていない場合は、実行時SecurityException強制します。 ( CodeAccessPermission から継承されます。)
パブリック メソッド Deny  コール スタックの上位の呼び出し元が、このメソッド呼び出すコード使用して現在のインスタンスによって指定されるリソースアクセスできないようにします。 ( CodeAccessPermission から継承されます。)
パブリック メソッド Equals  オーバーロードされます。 ( CodeAccessPermission から継承されます。)
パブリック メソッド FromXml オーバーライドされますXML エンコーディングから、指定した状態のアクセス許可再構築ます。
パブリック メソッド GetHashCode  ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適した CodeAccessPermission オブジェクトハッシュ コード取得します。 ( CodeAccessPermission から継承されます。)
パブリック メソッド GetPathList 指定した RegistryPermissionAccess を持つすべてのレジストリ変数パス取得します
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド Intersect オーバーライドされます現在のアクセス許可指定したアクセス許可積集合を表すアクセス許可作成して返します
パブリック メソッド IsSubsetOf オーバーライドされます現在のアクセス許可が、指定したアクセス許可サブセットかどうか判断します
パブリック メソッド IsUnrestricted 現在のアクセス許可無制限かどうかを示す値を返します
パブリック メソッド PermitOnly  コール スタックの上位の呼び出し元が、このメソッド呼び出すコード使用して現在のインスタンスによって指定されるリソース以外のすべてのリソースアクセスできないようにします。 ( CodeAccessPermission から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド RevertAll  現在のフレーム対す以前オーバーライドをすべて削除し無効にます。 ( CodeAccessPermission から継承されます。)
パブリック メソッド RevertAssert  現在のフレーム対す以前Assert をすべて削除し無効にます。 ( CodeAccessPermission から継承されます。)
パブリック メソッド RevertDeny  現在のフレーム対す以前Deny をすべて削除し無効にます。 ( CodeAccessPermission から継承されます。)
パブリック メソッド RevertPermitOnly  現在のフレーム対す以前の PermitOnly をすべて削除し無効にます。 ( CodeAccessPermission から継承されます。)
パブリック メソッド SetPathList 指定したレジストリ変数名への新しアクセスを、アクセス許可既存の状態に設定します
パブリック メソッド ToString  現在のアクセス許可オブジェクト文字列形式作成して返します。 ( CodeAccessPermission から継承されます。)
パブリック メソッド ToXml オーバーライドされますアクセス許可とその現在の状態を表す XML エンコーディング作成します
パブリック メソッド Union オーバーライドされます現在のアクセス許可指定したアクセス許可和集合を表すアクセス許可作成します
参照参照

関連項目

RegistryPermission クラス
System.Security.Permissions 名前空間
RegistryPermissionAttribute
RegistryPermissionAccess

その他の技術情報

アクセス許可
アクセス許可要求

RegistryPermission メンバ

レジストリ変数アクセスする権利制御します。このクラス継承できません。

RegistryPermission データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド RegistryPermission オーバーロードされます。 RegistryPermission クラス新しインスタンス初期化します。
パブリック メソッドパブリック メソッド
  名前 説明
パブリック メソッド AddPathList オーバーロードされます指定したレジストリ変数へのアクセスアクセス許可既存の状態に追加します
パブリック メソッド Assert  アクセス許可要求によって保護されているリソースへのアクセス許可が、スタックの上位にある呼び出し元に与えられていない場合でも、呼び出しコードが、このメソッド呼び出すコード通じてリソースアクセスできるように宣言しますAssert使用すると、セキュリティ上の問題発生することがあります。 (CodeAccessPermission から継承されます。)
パブリック メソッド Copy オーバーライドされます現在のアクセス許可コピー作成して返します
パブリック メソッド Demand  コール スタック内の上位にあるすべての呼び出し元に現在のインスタンスによって指定されているアクセス許可与えられていない場合は、実行時SecurityException強制します。 (CodeAccessPermission から継承されます。)
パブリック メソッド Deny  コール スタックの上位の呼び出し元が、このメソッド呼び出すコード使用して現在のインスタンスによって指定されるリソースアクセスできないようにします。 (CodeAccessPermission から継承されます。)
パブリック メソッド Equals  オーバーロードされます。 ( CodeAccessPermission から継承されます。)
パブリック メソッド FromXml オーバーライドされますXML エンコーディングから、指定した状態のアクセス許可再構築ます。
パブリック メソッド GetHashCode  ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適した CodeAccessPermission オブジェクトハッシュ コード取得します。 (CodeAccessPermission から継承されます。)
パブリック メソッド GetPathList 指定した RegistryPermissionAccess を持つすべてのレジストリ変数パス取得します
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド Intersect オーバーライドされます現在のアクセス許可指定したアクセス許可積集合を表すアクセス許可作成して返します
パブリック メソッド IsSubsetOf オーバーライドされます現在のアクセス許可が、指定したアクセス許可サブセットかどうか判断します
パブリック メソッド IsUnrestricted 現在のアクセス許可無制限かどうかを示す値を返します
パブリック メソッド PermitOnly  コール スタックの上位の呼び出し元が、このメソッド呼び出すコード使用して現在のインスタンスによって指定されるリソース以外のすべてのリソースアクセスできないようにします。 (CodeAccessPermission から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド RevertAll  現在のフレーム対す以前オーバーライドをすべて削除し無効にます。 (CodeAccessPermission から継承されます。)
パブリック メソッド RevertAssert  現在のフレーム対す以前Assert をすべて削除し無効にます。 (CodeAccessPermission から継承されます。)
パブリック メソッド RevertDeny  現在のフレーム対す以前Deny をすべて削除し無効にます。 (CodeAccessPermission から継承されます。)
パブリック メソッド RevertPermitOnly  現在のフレーム対す以前の PermitOnly をすべて削除し無効にます。 (CodeAccessPermission から継承されます。)
パブリック メソッド SetPathList 指定したレジストリ変数名への新しアクセスを、アクセス許可既存の状態に設定します
パブリック メソッド ToString  現在のアクセス許可オブジェクト文字列形式作成して返します。 (CodeAccessPermission から継承されます。)
パブリック メソッド ToXml オーバーライドされますアクセス許可とその現在の状態を表す XML エンコーディング作成します
パブリック メソッド Union オーバーライドされます現在のアクセス許可指定したアクセス許可和集合を表すアクセス許可作成します
参照参照

関連項目

RegistryPermission クラス
System.Security.Permissions 名前空間
RegistryPermissionAttribute
RegistryPermissionAccess

その他の技術情報

アクセス許可
アクセス許可要求



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「RegistryPermission」の関連用語

RegistryPermissionのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



RegistryPermissionのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS