Sdílet prostřednictvím


Filtrování operací registru v úlech aplikací

Aplikace v uživatelském režimu používají podregistry aplikací v registru k ukládání dat o stavu specifických pro aplikace.

Ovladač filtru registru přijímá volání své rutiny RegistryCallback pro operace registru na aplikačních úlech. Tato volání nerozlišují mezi operacemi registru v podregistrech aplikací a operacemi v jiných typech podregistrů registru.

Pro načtení úložiště aplikace aplikace volá RegLoadAppKey.

Podregistry aplikací se načítají pod \\REGISTRY\\A místo pod \\REGISTRY\\MACHINE nebo \\REGISTRY\\USER.

Všimněte si, že neexistuje způsob, jak procházet \\REGISTRY\\A. Pokus o otevření klíče v části \REGISTRY\A selže se stavem chyby STATUS_ACCESS_DENIED.

Pro přístup ke klíči v podregistru aplikace používá aplikace popisovač, který obdrží při volání RegLoadAppKey.

Operační systém automaticky uvolní podregistr aplikace poté, co jsou zavřeny všechny popisovače k podregistru.

Na rozdíl od jiných typů podregistrů registru, pro které je každý klíč zabezpečený pomocí vlastního popisovače zabezpečení, je zabezpečení podregistru aplikace založeno na popisovači zabezpečení souboru Hive. To znamená, že:

  • Pokus o nastavení popisovače zabezpečení u jednotlivých klíčů v podregistru aplikace selže se stavem chyby STATUS_ACCESS_DENIED.
  • Entita, která úspěšně načítá podregistr, může upravit celý podregistr.

Ovladače filtrování registru, které zpracovávají operace vytváření a otevírání klíčů (což je indikováno oznamovacími hodnotami RegNtPreOpenKey, RegNtPreOpenKeyEx, RegNtPreCreateKeya RegNtPreCreateKeyEx), musí zajistit, aby se při otevření aplikačního registru nepoužila absolutní cesta (ta začínající \\REGISTRY\\A\\). To může provést pouze správce registru. Pokud se ovladač filtru registru pokusí tímto způsobem otevřít podregistr aplikace (například voláním rutiny ZwOpenKey), operace selže se stavem chyby STATUS_ACCESS_DENIED.

Absolutní řetězec názvu cesty se zobrazí v CompleteName člen struktury REG_CREATE_KEY_INFORMATION, REG_CREATE_KEY_INFORMATION_V1, REG_OPEN_KEY_INFORMATIONnebo REG_OPEN_KEY_INFORMATION_V1.