更改CreateFileW dwShareMode

问题描述 投票:0回答:2

有没有办法使用 CreateFileW 和 FILE_SHARE_WRITE,然后在一段时间后将其更改为仅 FILE_SHARE_READ?

我找不到任何文档,但内存映射文件似乎可以提升权限,所以我想也许有一种方法可以打开文件,只是为了读取,然后锁定它以进行写入。

file winapi file-locking
2个回答
0
投票

这个问题似乎没有办法解决。所以我想答案是否定的。


0
投票

打开文件时检查权限和共享冲突。因此,如果您想要更多限制性共享(从

FILE_SHARE_WRITE | FILE_SHARE_READ
更改为仅
FILE_SHARE_READ
),您需要再次执行该过程。

做好

CreateFile
失败的准备,因为可能会打开一个具有写访问权限的句柄。

可以在不重新打开文件的情况下完成锁定,但这些锁定是合作/自愿的(并且锁定操作也可能失败)。

© www.soinside.com 2019 - 2024. All rights reserved.