Informazioni sugli alberi di analisi
È possibile definire uno o più alberi di analisi nello script di registrazione, in cui ogni albero di analisi ha il formato seguente:
<root-key>{<espressione> del Registro di sistema}+
dove:
<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
val
| |NoRemove
] <Key-Name> [<Key-Value>] [{
<Add-Key ]>}
<Delete-Key> ::=
Delete
<Key-Name><Key-Name> ::=
'
<Alfanumerico>+'
<AlfaNumerico> ::=
qualsiasi carattere non Null.<Chiave-valore> ::=
<Key-Type> <Key-Name><Tipo chiave> ::=
s
|d
Nota
HKEY_CLASSES_ROOT
e HKCR
sono equivalenti HKEY_CURRENT_USER
; e HKCU
sono equivalenti; e così via.
Un albero di analisi può aggiungere più chiavi e sottochiavi alla <chiave> radice. Il registrar mantiene aperto ogni handle di sottochiave fino a quando il parser non ha completato l'analisi di tutte le relative sottochiavi. È più efficiente rispetto all'uso di una singola chiave alla volta. Ecco un esempio:
HKEY_CLASSES_ROOT
{
'MyVeryOwnKey'
{
'HasASubKey'
{
'PrettyCool'
}
}
}
In questo caso, il registrar si apre inizialmente (crea). HKEY_CLASSES_ROOT\MyVeryOwnKey
Vede quindi che MyVeryOwnKey
ha una sottochiave. Anziché chiudere la chiave a MyVeryOwnKey
, il registrar mantiene l'handle e apre (crea) HasASubKey
usando questo handle padre. Il Registro di sistema può essere più lento quando non è aperto alcun handle padre. Quindi, l'apertura e l'apertura HKEY_CLASSES_ROOT\MyVeryOwnKey
HasASubKey
con come MyVeryOwnKey
padre è più veloce rispetto all'apertura , alla chiusura MyVeryOwnKey
di e quindi all'apertura MyVeryOwnKey
MyVeryOwnKey\HasASubKey
di .