Présentation des arborescences d’analyse
Vous pouvez définir une ou plusieurs arborescences d’analyse dans votre script de registrar, où chaque arborescence d’analyse a la forme suivante :
<root-key>{<registry expression>}+
où :
<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
<Key-Name><Key-Name> ::=
'
<AlphaNumeric>+'
<AlphaNumeric> ::=
n’importe quel caractère non nul.<Key-Value> ::=
<Key-Type> <Key-Name><Key-Type> ::=
s
|d
Remarque
HKEY_CLASSES_ROOT
et HKCR
sont équivalents ; HKEY_CURRENT_USER
et HKCU
sont équivalents ; et ainsi de suite.
Une arborescence d’analyse peut ajouter plusieurs clés et sous-clés au <root-key>. Le Registrar garde chaque handle de sous-clé ouvert jusqu’à ce que l’analyseur ait terminé l’analyse de toutes ses sous-clés. C’est plus efficace que d’utiliser une seule clé à la fois. Voici un exemple :
HKEY_CLASSES_ROOT
{
'MyVeryOwnKey'
{
'HasASubKey'
{
'PrettyCool'
}
}
}
Ici, le Registrar ouvre initialement (crée) HKEY_CLASSES_ROOT\MyVeryOwnKey
. Il voit ensuite que MyVeryOwnKey
a une sous-clé. Au lieu de fermer la clé pour MyVeryOwnKey
, le Registrar garde le handle et ouvre (crée) HasASubKey
à l’aide de ce handle parent. (Le registre système peut être plus lent quand aucun handle parent n’est ouvert.) Ainsi, l’ouverture de HKEY_CLASSES_ROOT\MyVeryOwnKey
et l’ouverture de HasASubKey
avec MyVeryOwnKey
comme parent sont plus rapides que l’ouverture de MyVeryOwnKey
, la fermeture de MyVeryOwnKey
, puis l’ouverture de MyVeryOwnKey\HasASubKey
.