mmf = MemoryMappedFile.OpenExisting("MmapedFile", MemoryMappedFileRights.ReadWrite);
var acc = mmf.CreateViewStream();
以上代码抛出异常
参数不正确
。
例外情况不是记录的UnauthorizedAccessException
,而是一般的异常对象。
我尝试了CreateViewAccesor
,具有不同的权限(读,写,执行),所有结果都相同。
更新
更详细的解释。
我有以下代码:
mmf = MemoryMappedFile.OpenExisting("MmapedFile", MemoryMappedFileRights.Read, HandleInheritability.None);
我检查了MemoryMappedFile中的一些信息,并根据我决定是否更新它的信息。一旦我决定更新它,我就会在帖子的开头运行代码。
此外,我有一个不同的进程,它也访问MemoryMappedFile,但仅用于读取(保持活着)。
可能是mmf处于读状态的另一个进程导致了这个错误吗?如果是这样,为什么不是未经授权的例外?我如何更新正在使用的mmf?