Sdílet prostřednictvím


Principy stromů analýzy

Poznámka:

Knihovna ATL (Active Template Library) se nadále podporuje. Už ale nepřidáme funkce ani aktualizujeme dokumentaci.

V skriptu registrátora můžete definovat jeden nebo více stromů parsování, kde každý strom analýzy má následující formulář:

<root-key>{<výraz registru>}+

kde:

<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> ::=
<Přidat-klávesu> | <Smazat-klávesu>

<Add-Key> ::=
  [ForceRemove | NoRemove | val] <Název-klíče> [<klíč-hodnota>] [ {<Přidat klíč>} ]

<Delete-Key> ::=
Delete <Název klíče>

<Název> klíče ::=
' <Alfanumerický>+'

<Alfanumerické> ::=
  libovolný znak, který není null.

<Klíč-hodnota> ::=
<Typ klíče><Název klíče>

<Typ-klíče> ::=
s | d

Poznámka:

HKEY_CLASSES_ROOT a HKCR jsou ekvivalentní; HKEY_CURRENT_USER a HKCU jsou ekvivalentní; a tak dále.

Parsovací strom může do kořenového <klíče> přidat více klíčů a podklíčů. Registrátor ponechá všechny popisovače podklíčů otevřené, dokud analyzátor nedokončí analýzu všech jeho podklíčů. Je efektivnější než pracovat na jednom klíči najednou. Tady je příklad:

HKEY_CLASSES_ROOT
{
    'MyVeryOwnKey'
    {
        'HasASubKey'
        {
            'PrettyCool'
        }
    }
}

V této části se registrátor nejprve otevře (vytvoří) HKEY_CLASSES_ROOT\MyVeryOwnKey. Pak uvidí, že MyVeryOwnKey má podklíč. Místo zavření klíče MyVeryOwnKeyregistrátor ponechá popisovač a otevře (vytvoří) HasASubKey pomocí tohoto nadřazeného popisovače. (Systémový registr může být pomalejší, pokud není otevřen žádný nadřazený popisovač.) Takže otevření HKEY_CLASSES_ROOT\MyVeryOwnKey a potom otevření HasASubKey s MyVeryOwnKey jako nadřazeným objektem je rychlejší než otevření MyVeryOwnKey, zavření MyVeryOwnKey a následné otevření MyVeryOwnKey\HasASubKey.

Viz také

Vytváření skriptů registrátora