篩選應用程式 Hives 上的登錄作業
使用者模式應用程式會在 登錄中使用應用程式 Hives 來儲存應用程式特定狀態資料。
登錄篩選驅動程式會針對應用程式登錄區上的登錄作業接收其 RegistryCallback 常式的呼叫。 這些呼叫不會區分應用程式登錄區上的登錄作業,以及其他類型的登錄區上的作業。
若要載入應用程式 Hive,應用程式會呼叫 RegLoadAppKey。
應用程式 Hives 會在 下 \\REGISTRY\\A
載入,而不是 在 或 \\REGISTRY\\USER
底下 \\REGISTRY\\MACHINE
載入。
請注意,沒有任何方法可以周遊 \\REGISTRY\\A
。 嘗試在 \REGISTRY\A 下開啟機碼失敗,並出現錯誤狀態 STATUS_ACCESS_DENIED。
若要存取應用程式 Hive 中的金鑰,應用程式會使用呼叫 RegLoadAppKey時所收到的控制碼。
作業系統會在關閉 Hive 的所有控制碼之後,自動卸載應用程式 Hive。
相較于其他類型的登錄區,每個機碼都會使用自己的安全描述元來保護,應用程式 Hive 的安全性是以 Hive 檔案的安全性描述元為基礎。 這表示:
- 嘗試在應用程式登錄區中的個別金鑰上設定安全性描述項失敗,並出現錯誤狀態 STATUS_ACCESS_DENIED。
- 載入 Hive 成功的實體可以修改整個 Hive。
處理 create-key 和 open-key 作業的登錄篩選驅動程式, (由RegNtPreOpenKey、RegNtPreOpenKeyEx、RegNtPreOpenKeyEx、RegNtPreCreateKey 和 RegNtPreCreateKeyEx通知值) 必須小心不要使用絕對路徑) (一開始 \\REGISTRY\\A\\
開啟應用程式登錄區;只有登錄管理員可以這麼做。
例如,如果登錄篩選驅動程式嘗試以這種方式開啟應用程式登錄區 (,例如呼叫 ZwOpenKey 常式) ,作業就會失敗,並出現錯誤狀態 STATUS_ACCESS_DENIED。
絕對路徑名稱字串會出現在REG_CREATE_KEY_INFORMATION、REG_CREATE_KEY_INFORMATION_V1、REG_OPEN_KEY_INFORMATION或REG_OPEN_KEY_INFORMATION_V1結構的CompleteName成員中。