用C++中api函数m_hFileMap = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, nFileSize, pszMapName);创建的内存映射文件,然后再.net中使用using System.IO.MemoryMappedFiles类中 MemoryMappedFile.OpenExisting(pszMapName).CreateViewAccessor();为什么总提示找不到文件,难道在这个量创建的内存映射文件不是一种的吗?有谁遇到过这个问题吗?帮我解答下,这个问题困扰了我很久。
应该不是 。net应该封装了一些细节,不是很清楚
MemoryMappedFile.OpenExisting 是打开一个已创建的命名内存文件,确定该名称的内存映射文件已存在?
而CreateFileMapping却是可以打开和创建,两个函数当然是不一样的。
应该先调用 MemoryMappedFile.CreateNew ,,,然后在其它地方才可以 MemoryMappedFile.OpenExisting