我有一个在托管进程中创建的命名管道。我有第二个进程尝试打开命名管道的文件句柄,但是第二个进程在比创建命名管道的进程更低的权限下运行。我的理解是我需要在第一个进程中使用安全描述符创建命名管道,如本MSKB文章中所述:http://support.microsoft.com/kb/813414
问题是我不知道如何在托管代码中执行此操作,知识库文章使用C ++。有没有人知道创建命名管道的方法,以便可以匿名读取和写入,最好使用安全描述符?降低创建命名管道的第一个进程的权限不是一个选项,我需要它以高权限运行。
答案 0 :(得分:4)
您可pinvoke the ConvertStringSecurityDescriptorToSecurityDescriptor API并传递security descriptor in SDDL。如果要对描述符进行详细控制,可以在开源社区中找到包装类,例如this one。 Here是在命名管道上使用安全描述符的示例。