File 在Windows中覆盖打开的文件

File 在Windows中覆盖打开的文件,file,winapi,File,Winapi,在什么情况下Windows允许您覆盖打开的文件?这是允许的吗?这包括将不同的文件重命名为与打开的文件相同的名称。如果查看,则有此dwShareMode参数。这可以确定文件打开时另一个进程可以对该文件执行什么操作 指定FILE\u SHARE\u READ可以让另一个进程打开文件进行读取。有一个文件\u共享\u写入,这意味着另一个进程可以写入它。还有文件共享\u删除,它允许删除和(IIRC)重命名 如果有人在没有file\u SHARE\u WRITE的情况下打开了该文件,而您打开该文件进行写访问

在什么情况下Windows允许您覆盖打开的文件?这是允许的吗?这包括将不同的文件重命名为与打开的文件相同的名称。

如果查看,则有此
dwShareMode
参数。这可以确定文件打开时另一个进程可以对该文件执行什么操作

指定
FILE\u SHARE\u READ
可以让另一个进程打开文件进行读取。有一个
文件\u共享\u写入
,这意味着另一个进程可以写入它。还有
文件共享\u删除
,它允许删除和(IIRC)重命名

如果有人在没有
file\u SHARE\u WRITE
的情况下打开了该文件,而您打开该文件进行写访问,您将得到
ERROR\u SHARING\u违规
。否则你应该可以给它写信

不幸的是,如果有一个进程出现,并且没有设置共享标志来允许您需要的东西,那么您就太倒霉了。尽管您可以使用选项
MOVEFILE\u DELAY\u直到重新启动
。但我不确定这是否有效;我对那个电话不太了解,只知道它存在。:-)