Opis drzew analizy
W skrycie rejestratora można zdefiniować co najmniej jedno drzewo analizy, w którym każde drzewo analizy ma następującą postać:
<klucz> główny{<wyrażenie> rejestru}+
gdzie:
<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
<wyrażenie-rejestru> ::=
<Add-Key Delete-Key> | <><Add-Key> ::=
[ForceRemove
NoRemove
val
| | ] Nazwa> klucza [<Klucz-wartość>]< [ <{
Add-Key ]>}
<Delete-Key> ::=
Delete
<Nazwa klucza><Nazwa> klucza ::=
'
<Alfanumeryczny>+'
<AlfaNumeryczne> ::=
dowolny znak inny niż null.<Klucz-wartość> ::=
<Nazwa klucza typu> <klucza><Typ> klucza ::=
s
|d
Uwaga
HKEY_CLASSES_ROOT
HKCR
i są równoważne; HKEY_CURRENT_USER
i HKCU
są równoważne; i tak dalej.
Drzewo analizy może dodawać wiele kluczy i podklucza <do klucza> głównego. Rejestrator przechowuje każdą podklucz otwartą, dopóki analizator nie ukończy analizowania wszystkich jego podklucze. Jest to bardziej wydajne niż działanie na jednym kluczu w danym momencie. Oto przykład:
HKEY_CLASSES_ROOT
{
'MyVeryOwnKey'
{
'HasASubKey'
{
'PrettyCool'
}
}
}
W tym miejscu rejestrator początkowo otwiera (tworzy) HKEY_CLASSES_ROOT\MyVeryOwnKey
. Następnie zostanie wyświetlony MyVeryOwnKey
podklucz. Zamiast zamykać klucz do MyVeryOwnKey
, rejestrator przechowuje dojście i otwiera (tworzy) HasASubKey
przy użyciu tego nadrzędnego uchwytu. (Rejestr systemowy może być wolniejszy, gdy nie jest otwarta żadna obsługa nadrzędna). Dlatego otwarcie, a następnie otwarcie HasASubKey
HKEY_CLASSES_ROOT\MyVeryOwnKey
MyVeryOwnKey
z jako elementu nadrzędnego jest szybsze niż otwieranie MyVeryOwnKey
, zamykanie MyVeryOwnKey
, a następnie otwieranie .MyVeryOwnKey\HasASubKey