程序中创建了一个文件,然后调用CreateFileMapping创建失败,代码为1006??高手指点!!!

javamagic 2007-11-20 04:31:58
如题~~
...全文
790 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
anhkgg 2012-03-31
  • 打赏
  • 举报
回复
非PE文件,或者文件大小为0
chendai11 2012-02-21
  • 打赏
  • 举报
回复
我也想知道,正在找
xt9852 2009-10-27
  • 打赏
  • 举报
回复
HANDLE hMap=CreateFileMapping(hFile3,NULL,PAGE_READWRITE,0,0,NULL);

将 0,0 改为你需要写入的数据的长度就应该可以了
fanjunwu 2008-10-29
  • 打赏
  • 举报
回复
今天也碰到了.记得以前没有遇到过这样的问题.怎么解决呢.
meiZiNick 2008-05-01
  • 打赏
  • 举报
回复
我也想知道,正在找這方面的資料~~~~~
zhoujianhei 2007-11-21
  • 打赏
  • 举报
回复
HANDLE   hFile2=CreateFile(in_path2,GENERIC_READ ¦GENERIC_WRITE,FILE_SHARE_READ ¦FILE_SHARE_WRITE,NULL,CREATE_NEW   ,FILE_ATTRIBUTE_NORMAL,NULL); 
unsigned char* qiujinbo_debug;
DWORD high_debug,low_debug,lpNumberOfBytesRead ;
low_debug=GetFileSize(hFile,&high_debug);
int s=low_debug/32;
int j=0;
while (j <s)
{
ReadFile(hFile,(LPVOID)qiujinbo_debug,32,&lpNumberOfBytesRead ,NULL);
WriteFile(hFile2,qiujinbo_debug,32,&lpNumberOfBytesRead,NULL);
SetFilePointer(hFile,32,0,FILE_CURRENT);
SetFilePointer(hFile2,32,0,FILE_CURRENT);
}
//CloseHandle(hFile2);
//hFile2=NULL;
//HANDLE hFile3=CreateFile(in_path2,GENERIC_READ ¦GENERIC_WRITE,FILE_SHARE_READ ¦FILE_SHARE_WRITE,NULL,CREATE_ALWAYS ¦ OPEN_EXISTING ,FILE_ATTRIBUTE_NORMAL,NULL);
HANDLE hMap=CreateFileMapping(hFile2,NULL,PAGE_READWRITE,0,0,NULL);

试一试。
javamagic 2007-11-21
  • 打赏
  • 举报
回复
HANDLE hFile2=CreateFile(in_path2,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,CREATE_NEW ,FILE_ATTRIBUTE_NORMAL,NULL);
unsigned char* qiujinbo_debug;
DWORD high_debug,low_debug,lpNumberOfBytesRead ;
low_debug=GetFileSize(hFile,&high_debug);
int s=low_debug/32;
int j=0;
while (j<s)
{
ReadFile(hFile,(LPVOID)qiujinbo_debug,32,&lpNumberOfBytesRead ,NULL);
WriteFile(hFile2,qiujinbo_debug,32,&lpNumberOfBytesRead,NULL);
SetFilePointer(hFile,32,0,FILE_CURRENT);
SetFilePointer(hFile2,32,0,FILE_CURRENT);
}
CloseHandle(hFile2);
hFile2=NULL;
HANDLE hFile3=CreateFile(in_path2,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,CREATE_ALWAYS | OPEN_EXISTING ,FILE_ATTRIBUTE_NORMAL,NULL);
HANDLE hMap=CreateFileMapping(hFile3,NULL,PAGE_READWRITE,0,0,NULL);
HANDLE hMap=CreateFileMapping(hFile3,NULL,PAGE_READWRITE,0,0,NULL);
DWORD q1=GetLastError();//这个地方的值一直是1006,难道是内存影射文件的时候必须是文件已经存在的,不可以在程序内部建造???????????????????????????????????????????????????????????
javamagic 2007-11-21
  • 打赏
  • 举报
回复
错了,是我想知道
javamagic 2007-11-21
  • 打赏
  • 举报
回复
我知道是这个错误,但是我知道为什么和如何修改我的程序
javamagic 2007-11-21
  • 打赏
  • 举报
回复
我试过了,不可以~
zhoujianhei 2007-11-20
  • 打赏
  • 举报
回复
文件所在的卷已被外部改变,因此打开的文件不再有效。

2,586

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 资源
社区管理员
  • 资源
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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