次の方法で共有


パース ツリーについて

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

<root key>{<registry expression>}+

それぞれの文字について以下に説明します。

<root key> ::=  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
<registry expression> ::= <Add Key> | <Delete Key>
<Add Key> ::= [ForceRemove | NoRemove | val]<Key Name>
              [<Key Value>][{< Add Key>}]
<Delete Key> ::=  Delete<Key Name>
<Key Name> ::= '<AlphaNumeric>+'
<AlphaNumeric> ::= any character not NULL, i.e. ASCII 0
<Key Value> ::== <Key Type><Key Name>
<Key Type> ::= s | d
<Key Value> ::= '<AlphaNumeric>'

注意

HKEY_CLASSES_ROOT と HKCR は等しく、HKEY_CURRENT_USER と HKCU は等しい、のように対応しています。

パース ツリーでは、<root key> に複数のキーとサブキーを追加できます。 その場合、パーサーがすべてのサブキーの解析を完了するまで、パース ツリーのサブキーのハンドルは開いたままになります。 この方法は、次の例に示すように、一度に 1 つのキーを処理するよりも効率的です。

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

ここでは、レジストラーが最初に HKEY_CLASSES_ROOT\MyVeryOwnKey を開くかまたは作成します。 次に、レジストラーは、MyVeryOwnKey にサブキーがあることを見つけます。 レジストラーは、MyVeryOwnKey のキーを閉じずにハンドルを保持し、この親ハンドルを使用して HasASubKey を開くかまたは作成します。 親ハンドルを開かない場合、レジストリが遅くなることがあります。したがって、まず HKEY_CLASSES_ROOT\MyVeryOwnKey を開き、次に MyVeryOwnKey を親にして HasASubKey を開いた方が、MyVeryOwnKey を開いてからいったん閉じ、その後で MyVeryOwnKey\HasASubKey を開いた場合に比べて処理が速くなります。

参照

参照

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