我了解了一些关于MemoryMappedFile
的基础知识,并且发现其中有一个名为MemoryMappedFileAccess.ReadExecute
的enum
成员。
我认为这意味着当您打开一个exe文件时,我的程序执行它(.exe文件)并读取其中的字节(.exe文件),但是当我执行程序时,它抛出了一个错误:
访问路径被拒绝[UnauthorizedAccessException]
我的代码:
static void Main(string[] args)
{
FileStream fs = new FileStream("programe.exe", FileMode.OpenOrCreate, FileAccess.ReadWrite,
FileShare.ReadWrite);
MemoryMappedFile memory = MemoryMappedFile.CreateFromFile(fs, "mapname", 0,
MemoryMappedFileAccess.ReadExecute,null,0,false);
MemoryMappedViewAccessor mmr = memory.CreateViewAccessor(0, fs.Length, MemoryMappedFileAccess.Read);
Console.ReadKey();
}
有人能给我解释一下吗?