首页 新闻 会员 周边

关于内存映射文件

0
悬赏园豆:10 [待解决问题]

用C++中api函数m_hFileMap = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, nFileSize, pszMapName);创建的内存映射文件,然后再.net中使用using System.IO.MemoryMappedFiles类中 MemoryMappedFile.OpenExisting(pszMapName).CreateViewAccessor();为什么总提示找不到文件,难道在这个量创建的内存映射文件不是一种的吗?有谁遇到过这个问题吗?帮我解答下,这个问题困扰了我很久。

刘敏文的主页 刘敏文 | 初学一级 | 园豆:122
提问于:2012-05-30 19:56
< >
分享
所有回答(2)
0

应该不是 。net应该封装了一些细节,不是很清楚

Daywei | 园豆:551 (小虾三级) | 2012-05-30 23:00
0

MemoryMappedFile.OpenExisting 是打开一个已创建的命名内存文件,确定该名称的内存映射文件已存在?

CreateFileMapping却是可以打开和创建,两个函数当然是不一样的。

 

应该先调用  MemoryMappedFile.CreateNew ,,,然后在其它地方才可以 MemoryMappedFile.OpenExisting

路人已 | 园豆:228 (菜鸟二级) | 2012-05-31 09:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册