为什么需要 FILE_FLAG_BACKUP_SEMANTICS 才能使用 CreateFile() 打开目录?

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

CreateFile()
的文档指定:

要使用 CreateFile 打开目录,请将 FILE_FLAG_BACKUP_SEMANTICS 标志指定为 dwFlagsAndAttributes 的一部分。

我不明白的是为什么需要这个标志。

该标志的记录含义是:

正在打开或创建文件以进行备份或恢复操作。当调用进程具有 SE_BACKUP_NAMESE_RESTORE_NAME 权限时,系统确保调用进程会覆盖文件安全检查。

这与目录有什么关系?

我一直在寻找这个问题的答案。

windows winapi
1个回答
0
投票

查看可以在目录句柄上执行的操作。它们都与备份相关。这不是 Unix,您不使用

readdir
openat
的目录句柄,它用于
BackupRead
BackupWrite
和更改通知(这也是备份工具想要的,以获得一致的信息)快照)。

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