OpenFileMapping提示error C3861: 'OpenFileMapping': identifier not found

qikaibinglan 2009-04-13 01:51:34
使用函数error C3861: OpenFileMapping,编译报错,找不到标识符号
这怎么回事?
是否windows mobile c++下无法支持这个函数?我该如何修改达到同样使用效果?多谢!
...全文
609 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
suifeng0feiyang 2012-06-08
  • 打赏
  • 举报
回复
这么久了。。。能不能有人帮帮忙 举一个函数例子啊!!
autsswl 2009-11-11
  • 打赏
  • 举报
回复
同样的问题啊
LWNUAA 2009-05-29
  • 打赏
  • 举报
回复
我和你遇到同样问题(想使用OpenFileMapping实现文件共享),你是怎么解决的啊?能不能给一个实例代码,非常感谢
qikaibinglan 2009-04-15
  • 打赏
  • 举报
回复
我这边目前使用共享文件操作已经ok了,多谢支持!
qikaibinglan 2009-04-13
  • 打赏
  • 举报
回复
而且INVALID_HANDLE_VALUE表示可以不进行文件上得操作,即直接物理控件即可
所以,能否不使用createfile,之类得,如果单从这个角度,我应该如何修改我得程序?
qikaibinglan 2009-04-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cytlyy 的回复:]
不支持。应该是用 ReadFile这些函数来代替。
[/Quote]
那么我在使用CreateFileMapping创建共享文件之前是否需要使用createfile之类得?
我这边在dll中实现如下:
//创建共享文件
#define NAME_OF_FILEMAP _T("MESSAGEBODY") //文件映象名称,另一个进程必须使用同一名称
hFileMapping = CreateFileMapping((HANDLE)0xffffffff,NULL,PAGE_READWRITE | SEC_COMMIT,0,1024,NAME_OF_FILEMAP);
if (!hFileMapping)
return 0;

//拷贝数据到共享文件
char* lpMapAddr = (char*)MapViewOfFile(hFileMapping,FILE_MAP_ALL_ACCESS, 0,0,0);
strcpy(lpMapAddr,MessageBody);
FlushViewOfFile(lpMapAddr,strlen(lpMapAddr)+1);
::UnmapViewOfFile(lpMapAddr);//结束映射
然后调试,创建成功了
但是在exe中,我使用了
//打开共享的文件对象
m_hMapFile = CreateFileForMapping(NAME_OF_FILEMAP,GENERIC_READ,NULL,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if( INVALID_HANDLE_VALUE == m_hMapFile)
error = GetLastError();
return 0;
总是返回错误,提示系统么有找到文件
这是怎么回事?我也搜索不到建立得文件呀。请给出具体修改,多谢!
世外涛缘 2009-04-13
  • 打赏
  • 举报
回复
不支持。
此函数支持的操作系统为:Windows Vista, Windows XP, 和 Windows 2000 Professional
cytlyy 2009-04-13
  • 打赏
  • 举报
回复
不支持。应该是用 ReadFile这些函数来代替。

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧