如何在托管代码中创建Windows安全描述符?

Lee*_*aks 6 .net c# security winapi named-pipes

我有一个在托管进程中创建的命名管道.我有第二个进程尝试打开命名管道的文件句柄,但是第二个进程在比创建命名管道的进程更低的权限下运行.我的理解是我需要在第一个进程中使用安全描述符创建命名管道,如本MSKB文章中所述:http://support.microsoft.com/kb/813414

问题是我不知道如何在托管代码中执行此操作,知识库文章使用C++.有没有人知道创建命名管道的方法,以便可以匿名读取和写入,最好使用安全描述符?降低创建命名管道的第一个进程的权限不是一个选项,我需要它以高权限运行.

She*_* 蒋晟 5

您可以调用 ConvertStringSecurityDescriptorToSecurityDescriptor API在 SDDL 中传递安全描述符。如果你想对描述器进行详细的控制,你可以在开源社区找到包装类,比如这个以下是在命名管道上使用安全描述符的示例。