导航
  • 主页
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

CreateFile独占打开文件的问题

look_think 2009-08-20 06:41:09
CreateFile的第三个参数是控制共享的,不过不太清楚如何起作用。

如下代码:
HANDLE hFile = CreateFile(L"sample.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);

调用后让线程等待,然后手工打开sample.txt,还能打开。

请问:
1、共享模式的设定的作用到底表现在哪里?
2、如果想实现用CreateFile打开一个文件后,其他进程都无法打开,可能么?

谢谢
...全文
376 点赞 收藏 2
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
look_think 2009-08-20
这个问题自己解决了。

可能是刚才糊涂了,又实验了一下,那段代码可以实现预期的目的。只是有一点点和原来预期不符----当文件已经打开,用此模式去打开文件时,原以为会出现非法句柄,但实际不会,不过也确实无法再保存该文件。

回复
I_NBFA 2009-08-20
1. 所谓的共享就是你在操作这个文件的时候是否允许别人也来操作,
FILE_SHARE_READ代表别人可以同时打开这个文件进行读操作,
FILE_SHARE_WRITE就是写操作.

2.可以, 0就代表拒绝共享. 只有你自己独占, 但是人家可以强制结束你的进程, 呵呵.
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……