クラスを使用して Windows レジストリからセキュリティ記述子を読み取り、それを変更して、変更された記述子を元に戻すコードをここからいじっています。RawSecurityDescriptor
これは基本的に、"dcomperm" Microsoft SDK サンプルが行うことと同じです。
それでも、「dcomperm」サンプルは 2 つの変換を行います。記述子がレジストリから読み取られると、「selt-relative」から「absolute」を使用してMakeAbsoluteSD()
変換され、その形式で変更されます。変更が完了すると、「self」に変換されます。 -relative」を使用MakeSelfRelativeSD()
し、「self-relative」形式で保存します。
リンク先のコードには、そのような変換はありません。
それらはC#でどのように行われますか? それらは .NET フレームワークによって内部的に行われますか、それとも P/Invoke を使用して独自に行う必要がありますか?