次の方法で共有


パース ツリーを理解する

レジストラー スクリプトで 1 つ以上のパース ツリーを定義できます。各パース ツリーの形式は次のとおりです。

<ルート キー>{<レジストリ式>}+

どこで:

<ルート キー> ::=
HKEY_CLASSES_ROOT | HKEY_CURRENT_USER |
HKEY_LOCAL_MACHINE | HKEY_USERS |
HKEY_PERFORMANCE_DATA | HKEY_DYN_DATA |
HKEY_CURRENT_CONFIG | HKCR | HKCU |
HKLM | HKU | HKPD | HKDD | HKCC

<レジストリ式> ::=
<追加キー> | <削除キー>

<追加キー> ::=
  [ForceRemove | NoRemove | val] <キー名> [<キー値>] [{<追加キー> }]

<削除キー> ::=
Delete <キー名>

<キー名> ::=
'<英数字>+'

<英数字> ::=
  null 以外の任意の文字。

<キー値> ::=
<キーの種類><キー名>

<キー型> ::=
s | d

Note

HKEY_CLASSES_ROOTHKCRHKEY_CURRENT_USERHKCU、などは等価です。

パース ツリーでは、複数のキーとサブキーを <ルート キー> に追加できます。 レジストラーでは、パーサーによるすべてのサブキーの解析が完了するまで、各サブキー ハンドルを開いた状態に保ちます。 その方が、一度に 1 つのキーに対して操作を行うよりも効率的です。 次に例を示します。

HKEY_CLASSES_ROOT
{
    'MyVeryOwnKey'
    {
        'HasASubKey'
        {
            'PrettyCool'
        }
    }
}

ここでは、レジストラーが最初に HKEY_CLASSES_ROOT\MyVeryOwnKey を開きます (作成します)。 次に、MyVeryOwnKey にサブキーがあることを確認します。 レジストラーでは、MyVeryOwnKey のキーを閉じるのではなく、そのハンドルを維持し、この親ハンドルを使って HasASubKey を開きます (作成します)。 (親ハンドルが開いていない場合、システム レジストリの速度が低下する可能性があります。)そのため、HKEY_CLASSES_ROOT\MyVeryOwnKey を開いた後、MyVeryOwnKey を親として使って HasASubKey を開く方が、MyVeryOwnKey を開き、MyVeryOwnKey を閉じてから MyVeryOwnKey\HasASubKey を開くよりも高速です。

関連項目

レジストラー スクリプトの作成