我正在玩code from here,它使用RawSecurityDescriptor
類從Windows註冊表中讀取安全描述符,對其進行修改,然後將修改後的描述符存回。這與「dcomperm」Microsoft SDK示例所做的基本相同。在C#中,「絕對」和「自相關」安全描述符是如何操縱的?
然而「dcomperm」樣品做兩次轉換 - 一旦描述符從註冊表它是從「SELT相對」轉換讀「絕對」使用MakeAbsoluteSD()
,然後以該形式改變了,一旦變更完成它轉換回「自我相對」使用MakeSelfRelativeSD()
和存儲在「自我相對」的形式。
在我鏈接的代碼中沒有這樣的轉換。
它們是如何在C#中完成的?它們是由.NET框架在內部完成還是必須通過P/Invoke自己完成?