如果不采取肮脏和令人讨厌的方式,我相信这在用户模式下是不允许的,即使使用 SE_BACKUP_NAME。
我认为肮脏和令人讨厌的事情:
- 找出哪个进程拥有该句柄,并编写在该进程中运行的代码并关闭该句柄。
- 读取/解析MFT/FAT表
- 使用内核驱动程序
最佳答案
是的,有一种方法,尽管它可能不适合您的需求;它并不脏或令人讨厌,但它很重,也就是说,它不容易编写代码,并且如果您只是尝试读取单个文件,它会产生不成比例的系统负载。
但是,如果您需要这样做,这是我所知道的唯一合理且安全的解决方案:请参阅 Volume Shadow Copy Service 上的 MSDN 文档。 .
现在大多数备份软件都使用 VSS。
关于windows - 有没有办法获得对以独占访问方式打开的文件的读访问权限,即 FILE_SHARE_NONE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12912178/