CreateFile()
的文档指定:
要使用 CreateFile 打开目录,请将 FILE_FLAG_BACKUP_SEMANTICS 标志指定为 dwFlagsAndAttributes 的一部分。
我不明白的是为什么需要这个标志。
该标志的记录含义是:
正在打开或创建文件以进行备份或恢复操作。当调用进程具有 SE_BACKUP_NAME 和 SE_RESTORE_NAME 权限时,系统确保调用进程会覆盖文件安全检查。
这与目录有什么关系?
我一直在寻找这个问题的答案。
查看可以在目录句柄上执行的操作。它们都与备份相关。这不是 Unix,您不使用
readdir
或 openat
的目录句柄,它用于 BackupRead
、BackupWrite
和更改通知(这也是备份工具想要的,以获得一致的信息)快照)。