文件共享问题

WQ 2002-02-01 10:01:35
HANDLE hFile=::CreateFile(pthread.sourcefilename,GENERIC_READ,
FILE_SHARE_READ,NULL,OPEN_EXISTING,
FILE_FLAG_SEQUENTIAL_SCAN,NULL);
if(hFile==INVALID_HANDLE_VALUE)
{
DWORD errorcode=GetLastError(); //0x0000020
::MessageBox(NULL,"1","1",MB_OK|MB_ICONINFORMATION);
return;
}
为什麽,用别的打开是没问题的
比如记事本
...全文
78 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoxiaohan 2002-02-01
  • 打赏
  • 举报
回复
HANDLE hFile=::CreateFile(pthread.sourcefilename,GENERIC_READ,
FILE_SHARE_READ¦FILE_SHARE_WRITE,NULL,OPEN_EXISTING,
FILE_FLAG_SEQUENTIAL_SCAN,NULL);
lhj 2002-02-01
  • 打赏
  • 举报
回复
你的代码在其他程序已经用读写权限打开该文件的情况下会失败,应为你用FILE_SHARE_READ
改为FILE_SHARE_READ|FILE_SHARE_WRITE则可以成功
WQ 2002-02-01
  • 打赏
  • 举报
回复
thanx,thanx
WQ 2002-02-01
  • 打赏
  • 举报
回复
另一个程序正在使用此文件,进程无法访问
摘自,Error Lookup
WQ 2002-02-01
  • 打赏
  • 举报
回复
xiaoxiaohan(萧晓寒) 
是我打不开
记事本可以
tief 2002-02-01
  • 打赏
  • 举报
回复
请使用TRACE命令检查传递过来的pthread.sourcefilename:

TRACE ("filename is [%s]\n",pthread.sourcefilename) ;

这段程序是没有问题的,除非文件路径存在问题:)

错误20说明: " The system cannot find the device specified. "
xiaoxiaohan 2002-02-01
  • 打赏
  • 举报
回复
因为你允许共享了改为
HANDLE hFile=::CreateFile(pthread.sourcefilename,GENERIC_READ,
FILE_SHARE_DELETE,NULL,OPEN_EXISTING,
FILE_FLAG_SEQUENTIAL_SCAN,NULL);
就不能用记事本打开了。
WQ 2002-02-01
  • 打赏
  • 举报
回复
xiaoxiaohan(萧晓寒),lhj(努力加油)
我试了还是不对,是否和NTFS有关,我用的XP

1,649

社区成员

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

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