2010-01-04 48 views

回答

6

快速回答是可以的他們是註冊表設置,長答案是不是他們不是簡單註冊表設置。這些值是二進制的,並指向ACL結構。爲了改變這些,你需要加載,更新和保存ACL(這需要相當數量的代碼)。在Windows SDK中的DCOMPerm sample是一個體面的地方開始,我已經使用它作爲我在工作中使用的一組類的基礎來處理這個問題(不幸的是,我不能將該代碼發佈到公共領域)

您可以查看關於DCOM密鑰結構的MSDN Documentation - 涵蓋了計算機範圍的設置。 COM應用程序特定的設置存儲在其註冊表中的APPID中的AccessPermission和LaunchPermission值中。

請記住,修改機器範圍設置的ACL可能會導致機器無法正常使用,從而導致機器無法使用。如果我沒有記錯,你可以簡單地刪除這些值(通過RegEdit),操作系統將恢復默認設置,讓你的機器回來......但我不再100%確定。

編輯:二進制數據實際上是一個安全描述符,但最終它包含需要處理的ACL - 當打開包裝/打包它時,SD僅添加一層代碼。

+0

Thx爲您的指針。我會檢查出來,並希望它能工作。 – pantarhei 2010-02-05 08:42:12