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打开一个文件后,其他进程都无法打开,可能么?

谢谢
...全文
809 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
look_think 2009-08-20
  • 打赏
  • 举报
回复
这个问题自己解决了。

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

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

2.可以, 0就代表拒绝共享. 只有你自己独占, 但是人家可以强制结束你的进程, 呵呵.

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

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