RegistryKeyPermissionCheck 列挙体とは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > RegistryKeyPermissionCheck 列挙体の意味・解説 

RegistryKeyPermissionCheck 列挙体

メモ : この列挙体は、.NET Framework version 2.0新しく追加されたものです。

レジストリ キー開いて名前/値ペアアクセスするときに、セキュリティ チェックを行うかどうか指定します

名前空間: Microsoft.Win32
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Enumeration RegistryKeyPermissionCheck
Dim instance As RegistryKeyPermissionCheck
public enum RegistryKeyPermissionCheck
public enum class RegistryKeyPermissionCheck
public enum RegistryKeyPermissionCheck
public enum RegistryKeyPermissionCheck
メンバメンバ
 メンバ説明
.NET Compact Framework によるサポートDefaultレジストリ キーは親のモード継承します。親が ReadSubTree モードまたは ReadWriteSubTree モード開かれていない限り、サブキーまたは値にアクセスしようしたときにセキュリティ チェックが行われます。 
.NET Compact Framework によるサポートReadSubTreeサブキーまたは値にアクセスしようしたときにセキュリティ チェック行われません。親が ReadSubTree または ReadWriteSubTree開かれていない限り現在のキー開こうとしたときにセキュリティ チェックが行われます。 
.NET Compact Framework によるサポートReadWriteSubTreeサブキーまたは値にアクセスしようしたときにセキュリティ チェック行われません。親が ReadWriteSubTree開かれていない限り現在のキー開こうとしたときにセキュリティ チェックが行われます。 
解説解説

アプリケーションがサブキーのセットか多数レジストリ設定保存取得を行う場合多数冗長なセキュリティ チェックが行われます。この列挙体は、キー対すセキュリティ チェックどのような場合省略するかを指定します

セキュリティ チェックを行うタイミング次の表に示します。このタイミングは、親キーおよび現在のキー開いた方法によって決まります

キー開いた方法

現在のキー開いた方法

結果

Default

Default

セキュリティ チェックは、現在のキー任意の値にアクセスするとき、またはサブキーにアクセスようとしたときに行われます。これは、.NET Framework Version 1.0 および 1.1 での動作です。

Default

ReadSubTree

セキュリティ チェックは、現在のキー開こうとしたときに行われます

Default

ReadSubTree

セキュリティ チェックは、現在のキー開こうとしたときに行われます

ReadSubTree

Default または ReadSubTree

現在のキーまたはその値を開くときに、セキュリティ チェック行われません。

ReadSubTree

ReadWriteSubTree

セキュリティ チェックは、現在のキー開こうとしたときに行われます

ReadWriteSubTree

任意

現在のキーまたはその値を開くときに、セキュリティ チェック行われません。

使用例使用例

100 個のキー/値ペア格納しているサブキーを作成し、これを閉じコード例次に示します。この例では、Default使用してサブキーを開きすべての値の読み取り要する時間記録します。次にReadSubTree使用してサブキーを開きすべての値の読み取り要する時間記録します。最後に改善度を示すパーセント値を計算して表示します

Imports System
Imports Microsoft.Win32
Imports System.Diagnostics

Public Class Example
    
    Public Shared Sub Main()
 

        Const LIMIT As Integer
 = 100
        Dim cu As RegistryKey = Registry.CurrentUser
        Const testKey As String
 = "RegistryKeyPermissionCheckExample"
        
        Console.WriteLine("Generating {0} key/value pairs.",
 LIMIT)
        Dim rk As RegistryKey = cu.CreateSubKey(testKey)

        For i As Integer
 = 0 To LIMIT
            rk.SetValue("Key" & i, i)
        Next i
        
        rk.Close()
        
        Dim s As New Stopwatch()
        
        ' On the default setting, security is checked every time
        ' a key/value pair is read.
        rk = cu.OpenSubKey(testKey, _
            RegistryKeyPermissionCheck.Default)
        
        s.Start()
        For i As Integer
 = 0 To LIMIT
            rk.GetValue("Key" & i, i)
        Next i
        s.Stop()
        rk.Close()
        Dim delta1 As Long
 = s.ElapsedTicks
        
        s.Reset()
        
        ' When the key is opened with ReadSubTree, security is 
        ' not checked when the values are read.
        rk = cu.OpenSubKey(testKey, _
            RegistryKeyPermissionCheck.ReadSubTree)
        
        s.Start()
        For i As Integer
 = 0 To LIMIT
            rk.GetValue("Key" & i, i)
        Next i
        s.Stop()
        rk.Close()
        Dim delta2 As Long
 = s.ElapsedTicks
        
        Dim faster As Double
 = _
            CDbl(delta1 - delta2) * 100.0 / CDbl(delta1)
        Console.WriteLine("ReadSubTree is {0}% faster for {1}
 values.", _
            faster.ToString("0.0"), LIMIT)
        
        cu.DeleteSubKey(testKey)
    
    End Sub 
End Class 

' This code example produces output similar to the following:
'
'Generating 100 key/value pairs.
'ReadSubTree is 23.4% faster for 100 values.
' 
using System;
using Microsoft.Win32;
using System.Diagnostics;

public class Example
{
    public static void Main()
    {
        const int LIMIT = 100;
        RegistryKey cu = Registry.CurrentUser;
        const string testKey = "RegistryKeyPermissionCheckExample";

        Console.WriteLine("Generating {0} key/value pairs.", LIMIT);
        RegistryKey rk = cu.CreateSubKey(testKey);
        for (int i = 0; i < LIMIT; i++)
        {
            rk.SetValue("Key" + i, i);
        }

        rk.Close();

        Stopwatch s = new Stopwatch();

        // On the default setting, security is checked every time
        // a key/value pair is read.
        rk = cu.OpenSubKey(testKey, RegistryKeyPermissionCheck.Default);
        
        s.Start();
        for (int i = 0; i < LIMIT; i++)
        {
            rk.GetValue("Key" + i, i);
        }
        s.Stop();
        rk.Close();
        long delta1 = s.ElapsedTicks;

        s.Reset();

        // When the key is opened with ReadSubTree, security is 
        // not checked when the values are read.
        rk = cu.OpenSubKey(testKey, RegistryKeyPermissionCheck.ReadSubTree);
        
        s.Start();
        for (int i = 0; i < LIMIT; i++)
        {
            rk.GetValue("Key" + i, i);
        }
        s.Stop();
        rk.Close();
        long delta2 = s.ElapsedTicks;

        double faster = (double) (delta1 - delta2) / (double) delta1;
        Console.WriteLine("ReadSubTree is {0}% faster for
 {1} values.",
            (faster * 100).ToString("0.0"), LIMIT);

        cu.DeleteSubKey(testKey);
    }
}

/* This code example produces output similar to the following:

Generating 100 key/value pairs.
ReadSubTree is 23.4% faster for 100 values.
 */
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Microsoft.Win32 名前空間



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

辞書ショートカット

すべての辞書の索引

「RegistryKeyPermissionCheck 列挙体」の関連用語

RegistryKeyPermissionCheck 列挙体のお隣キーワード
検索ランキング

   

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



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

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

©2025 GRAS Group, Inc.RSS