Comprender los árboles de análisis
Puede definir uno o varios árboles de análisis en el script de registrador, donde cada árbol de análisis tiene el siguiente formato:
<root-key>{<registry expression>}+
donde:
<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
<Nombre de clave><Key-Name> ::=
'
<AlphaNumeric>+'
<AlphaNumeric> ::=
cualquier carácter que no sea NULL.<Key-Value> ::=
<Key-Type> <Key-Name><Key-Type> ::=
s
|d
Nota:
HKEY_CLASSES_ROOT
y HKCR
son equivalentes; HKEY_CURRENT_USER
y HKCU
son equivalentes; y así sucesivamente.
Un árbol de análisis puede agregar varias claves y subclaves a <root-key>. El registrador mantiene abierto cada identificador de subclave hasta que el analizador haya completado el análisis de todas sus subclaves. Es más eficaz que operar en una sola clave cada vez. Este es un ejemplo:
HKEY_CLASSES_ROOT
{
'MyVeryOwnKey'
{
'HasASubKey'
{
'PrettyCool'
}
}
}
En este caso, el registrador abre (crea) inicialmente HKEY_CLASSES_ROOT\MyVeryOwnKey
. A continuación, ve que MyVeryOwnKey
tiene una subclave. En lugar de cerrar la clave para MyVeryOwnKey
, el registrador mantiene el identificador y abre (crea) HasASubKey
con este identificador principal. (El Registro del sistema puede ser más lento cuando no hay ningún identificador principal abierto). Por lo tanto, abrir HKEY_CLASSES_ROOT\MyVeryOwnKey
para, a continuación, abrir HasASubKey
con MyVeryOwnKey
como elemento principal es más rápido que abrir MyVeryOwnKey
, cerrar MyVeryOwnKey
y, luego, abrir MyVeryOwnKey\HasASubKey
.