BNF-Syntax verwenden, definieren Sie eine oder mehrere Parse-Bäume in Ihrem Skript.
Jedem Parse-Baum hat die form:
Lt; Stammschlüssel > < Registrierung Ausdruck >{}+
wo:
Lt; Stammschlüssel >:: = 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< Registrierung Ausdruck >:: = < Add Key > | < ENTF-Taste > < Key hinzufügen >:: = [ForceRemove | NoRemove | val]< Schlüsselname > [Schlüsselwert < >][{} < Key hinzufügen >}] < Schlüssel löschen >:: = < Schlüsselname > Löschen< Schlüsselname >:: '= <AlphaNumeric> +'<AlphaNumeric>:: = alle Zeichen nicht NULL, d.h. ASCII 0< Key Wert >:: == < Schlüsseltyp >< Schlüsselname > < Key Type >:: = s | d< Key Wert >:: = '<AlphaNumeric>'
Hinweis&Nbsp;HKEY_CLASSES_ROOTund HKCR sind äquivalent; HKEY_CURRENT_USER und HKCU sind äquivalent; und so weiter.
Einen Parserstruktur kann mehrere Schlüssel und Unterschlüssel hinzufügen, um die Lt; root Schlüssel >. Dabei hält es einen Unterschlüssel Handle geöffnet, bis der Parser Parsen aller seiner Unterschlüssel abgeschlossen hat. Dieser Ansatz ist effizienter als das Betriebssystem auf einem einzigen Schlüssel in einer Zeit, wie im folgenden Beispiel Parse-Baum:
HKEY_CLASSES_ROOT
{
&Nbsp; 'MyVeryOwnKey'
{
'HasASubKey'
{
'PrettyCool?'
}
}
}
Hier der Kanzler zunächst öffnet (erstellt) HKEY_CLASSES_ROOT\MyVeryOwnKey . Dann sieht es, die MyVeryOwnKey hat einen Unterschlüssel. Den Schlüssel zu schließen, anstatt MyVeryOwnKey , Registrar behält das Handle und öffnet (erstellt) HasASubKey unter Verwendung dieses übergeordneten Handles. (Die Systemregistrierung kann langsamer sein, wenn kein übergeordnetes Handle geöffnet ist.) So öffnen HKEY_CLASSES_ROOT\MyVeryOwnKey und der dann öffnenden HasASubKey mit MyVeryOwnKey wie das übergeordnete Element schneller als Eröffnung ist MyVeryOwnKey , schließen MyVeryOwnKey , und dann öffnenMyVeryOwnKey\HasASubKey.