Noções básicas sobre árvores de análise
Você pode definir uma ou mais árvores de análise no script de registrador, onde cada árvore de análise tem a seguinte forma:
<root key>{<registry expression>}+
Onde:
<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> ::= Excluir<Key Name>
<Key Name> ::= '<AlphaNumeric>+'
<AlphaNumeric> ::= any character not NULL, i.e. ASCII 0
<Key Value> ::== <Key Type><Key Name>
<Key Type> ::= s | d
<Key Value> ::= '<AlphaNumeric>'
Observação: |
---|
HKEY_CLASSES_ROOT e HKCR são equivalentes; HKEY_CURRENT_USER e HKCU são equivalentes; e assim por diante. |
Uma árvore de análise pode adicionar várias chaves e subchaves a < chave raiz >.Ao fazer isso, ele mantém o identificador da subchave em aberto até que o analisador tenha completado analisar todas as suas subchaves.Essa abordagem é mais eficiente do que operam em uma única chave ao mesmo time, sistema autônomo visto no exemplo a seguir:
HKEY_CLASSES_ROOT
{
'MyVeryOwnKey'
{
'HasASubKey'
{
'PrettyCool?'
}
}
}
Aqui, o registrador inicialmente é aberta (cria) HKEY_CLASSES_ROOT\MyVeryOwnKey. Em seguida, veja que MyVeryOwnKey possui uma subchave. Em vez de fechar a chave para MyVeryOwnKey, o registrador retém a alça e abre (cria) HasASubKey usando esse identificador pai. (O registro do sistema pode ser mais lento quando nenhum identificador pai é aberta.) Assim, abrindo HKEY_CLASSES_ROOT\MyVeryOwnKey e, em seguida, abrindo HasASubKey com MyVeryOwnKey sistema autônomo o pai é mais rápido do que a abertura MyVeryOwnKey, fechar MyVeryOwnKeye, em seguida, abrindo MyVeryOwnKey\HasASubKey.