用Share-Delete打开文件是否允许别人写?

FileShare枚举提供了各种标志,如Read,Write,Delete …。 通常我会认为共享一个文件删除只允许删除,但没有别的(如阅读)。

但是,我远程回想起Windows只区分只读和完全访问文件,所以实际上共享删除允许写入文件。 可悲的是,这是多年以前,我没有find原始来源,也没有任何相关的信息。 有没有一个可靠的规范的实际行为? 它依赖于操作系统还是FS?

Solutions Collecting From Web of "用Share-Delete打开文件是否允许别人写?"

看看CreateFile函数的文档。

FILE_SHARE_DELETE:启用文件或设备上的后续打开操作以请求删除访问。 否则,其他进程如果请求删除访问,则不能打开该文件或设备。 如果未指定此标志,但文件或设备已被打开以进行删除访问,则该功能失败。 注删除访问权限允许删除和重命名操作。

文档没有提及读取访问也是允许的。