パース ツリーをについてください。

BNF 構文を使用して、1 つまたは複数のパース ツリーをスクリプトで定義します。

各解析ツリー フォームがあります。:

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

ここで:

lt; ルート キー >:: 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]< キー名 >[< キー値 >][{< キーを追加 >}]< キー削除 >:: < キー名 > を削除=< キー名 >:: = '<AlphaNumeric> +'<AlphaNumeric>:: = 、文字のない NULL、すなわち ASCII 0< キー値 >:: == < キー タイプ >< キー名 >< キー型 >:: s = |d< キー値 >:: = '<AlphaNumeric>'

特価;HKEY_CLASSES_ROOTHKCR は同等; HKEY_CURRENT_USERHKCU と同等; するには(&N)。

解析ツリー lt に複数のキーとサブキーを追加することができます、ルート キー >。パーサーのすべてのサブキーの解析が完了するまでそうすることで、それは、サブキーのハンドルは開いたまま。このアプローチは、解析ツリーの例のよう、時にを 1 つのキーを処理するよりも効率的です。:

HKEY_CLASSES_ROOT{特価;' MyVeryOwnKey'{' HasASubKey'{「PrettyCool?」}}}(&N)

ここでは、最初の登録を開きます (作成) HKEY_CLASSES_ROOT\MyVeryOwnKey 。[見て MyVeryOwnKey のサブキーがあります。ではなく、キーを閉じます MyVeryOwnKey 、レジストラー、ハンドルを保持し、開きます (作成) HasASubKey この親のハンドルを使用します。(親ハンドルが開いていないとき、システム レジストリが遅くなるできます。)したがって、開く HKEY_CLASSES_ROOT\MyVeryOwnKey と開き HasASubKeyMyVeryOwnKey 、親が開くよりも高速で MyVeryOwnKey 、閉会 MyVeryOwnKey 、して開くMyVeryOwnKey\HasASubKey

Index