MemoryMappedFile进程安全性

时间:2014-01-26 20:44:35

标签: c# memory-mapped-files inter-process-communicat security-identifier

我尝试创建MemoryMappedFile并确保只有某些进程可以访问共享内存。这个blog post on MSDN说:

  

内存映射文件安全性允许您自定义谁或 哪个进程 可以访问资源,这在您想要保护敏感信息时非常重要您不希望其他进程更改文件映射。

但是,我无法弄清楚如何引用进程,只能引用引用用户和用户组的内置SID。这有效,但不是我想要的:

MemoryMappedFileSecurity mmfs = new MemoryMappedFileSecurity();
SecurityIdentifier si = new SecurityIdentifier(WellKnownSidType.LocalServiceSid, null);
AccessRule<MemoryMappedFileRights> ar = new AccessRule<MemoryMappedFileRights>(si, MemoryMappedFileRights.ReadWrite, AccessControlType.Allow);
mmfs.AddAccessRule(ar);
MemoryMappedFile mmf = MemoryMappedFile.CreateNew("testmmf", 134217728, MemoryMappedFileAccess.ReadWrite, MemoryMappedFileOptions.None, mmfs, System.IO.HandleInheritability.None);

如何参考我的流程?我的流程是否有SID?我完全错过了什么概念?

0 个答案:

没有答案