使用者模式應用程式會在登錄 中使用 應用程式 Hives 來儲存應用程式特定的狀態數據。
登錄篩選驅動程式會針對應用程式配置單元上的登錄作業,接收其 RegistryCallback 例程。
這些呼叫不會區分在應用程式的 hive 上進行的登錄作業和在其他類型的登錄區上進行的作業。
若要載入應用程式 Hive,應用程式會呼叫 RegLoadAppKey。
應用程式 hives 會載入在 \\REGISTRY\\A,而不是在 \\REGISTRY\\MACHINE 或 \\REGISTRY\\USER。
無法穿越 \\REGISTRY\\A。 試著在 \REGISTRY\A 下開啟機碼失敗,錯誤狀態 STATUS_ACCESS_DENIED。
若要存取應用程式 Hive 中的金鑰,應用程式會使用呼叫 RegLoadAppKey時所收到的句柄。
作業系統會在關閉註冊表配置單元的所有句柄之後,自動卸除應用程式的註冊表配置單元。
相較於其他類型的登錄集區,每個機碼都有自己的安全性描述元進行保護,應用程式集區的安全性則是基於集區檔案的安全性描述元。
這表示:
試著在應用程式 Hive 中的個別金鑰上設定安全性描述元失敗,錯誤狀態 STATUS_ACCESS_DENIED。
載入 Hive 成功的實體可以修改整個 Hive。
處理 create-key 和 open-key 作業的登錄篩選驅動程式(RegNtPreOpenKey、RegNtPreOpenKeyEx、RegNtPreCreateKey和 RegNtPreCreateKeyEx 通知值)必須謹慎,避免使用絕對路徑(從 \\REGISTRY\\A\\開始)來開啟應用程式的配置單元;只有登錄管理員能夠這樣操作。
如果登入篩選驅動程式嘗試以這種方式開啟應用程式 Hive (例如,藉由呼叫 ZwOpenKey 例程),作業會失敗,並出現錯誤狀態 STATUS_ACCESS_DENIED。
絕對路徑名稱字串會出現在 REG_CREATE_KEY_INFORMATION、REG_CREATE_KEY_INFORMATION_V1、REG_OPEN_KEY_INFORMATION或 REG_OPEN_KEY_INFORMATION_V1 結構的 CompleteName 成員中。