篩選應用程式 hive 上的登錄作業

使用者模式應用程式會使用 登錄中的應用程式 hive 來儲存應用程式特定的狀態資料。

登錄篩選器驅動程式會針對應用程式 hive 上的登錄作業接收其 RegistryCallback 常式的呼叫。 這些呼叫不會區分應用程式 hive 上的登錄作業和其他類型之登錄區的作業。

若要載入應用程式 hive,應用程式會呼叫 RegLoadAppKey

應用程式 hive 是在下 \\REGISTRY\\A 載入,而不是在或 \\REGISTRY\\USER\\REGISTRY\\MACHINE 載入。

請注意,沒有任何方法可以進行 \\REGISTRY\\A 往返。 嘗試在 \REGISTRY\A 下開啟金鑰失敗,並出現錯誤狀態 STATUS_ACCESS_DENIED

若要存取應用程式 hive 中的金鑰,應用程式會使用它在呼叫 RegLoadAppKey時所收到的控制碼。

當 hive 的所有控制碼都關閉之後,作業系統會自動卸載應用程式 hive。

相較于其他類型的登錄 hive,每個金鑰都會以自己的安全描述項保護,應用程式 hive 的安全性是以 hive 檔案的安全描述項為基礎。 這表示:

  • 嘗試在應用程式 hive 中設定個別金鑰上的安全描述項失敗,並出現錯誤狀態 STATUS_ACCESS_DENIED
  • 成功載入 hive 的實體可以修改整個 hive。

RegNtPreOpenKeyRegNtPreOpenKeyExRegNtPreCreateKeyRegNtPreCreateKeyEx通知值所表示的登錄篩選器驅動程式可處理建立金鑰和開啟金鑰的作業 (,) 必須小心不要使用絕對路徑 (從) 開始 \\REGISTRY\\A\\ 開啟應用程式 hive; 只有登錄管理員才能執行這項作業。 如果登錄篩選器驅動程式嘗試以這種方式開啟應用程式 hive (例如,藉由呼叫 ZwOpenKey 常式) ,作業會失敗,並出現錯誤狀態 STATUS_ACCESS_DENIED

絕對路徑名稱字串會出現在REG_CREATE_KEY_INFORMATIONREG_CREATE_KEY_INFORMATION_V1REG_OPEN_KEY_INFORMATIONREG_OPEN_KEY_INFORMATION_V1結構的CompleteName成員中。