2

我正在尝试创建一个 MemoryMappedFile 并确保只有某些进程才能访问共享内存。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 吗?我完全错过了什么概念?

4

0 回答 0