我正在尝试在服务器上备份文件,但其中一些正在使用中,无法打开.相反,如果当前副本正在使用中,我想打开它们的卷影副本.我怎样才能做到这一点?
作为参考,我使用的是C#.net 3.5.
这个问题已经很老了,所以我的答案对你来说可能没什么用处,但是作为一个问答网站可能它仍然可以帮助别人.
我不能/不想放下整个实现,但程序是这样的:
您可以通过卷影服务提供程序为要读取的文件所在的驱动器创建卷影复制(这在MSDN上有详细记录,还有一个示例客户端可以创建这些卷影副本,很可能对您来说已足够)
要么是持久的,要么使用"回调"机制(调用你的应用程序)
通过UNC路径和CreateFile打开所需的文件(UNC看起来像这样:\\?\ GlobalRoot\Devices\HarddiskVolumeShadowCopyXZY\yourpath\yourfile.yourextension)
用文件做任何你想做的事
如果您创建了持久性VSC,则应在完成后使用示例客户端将其删除
更多信息:http://technet.microsoft.com/en-us/library/cc785914%28WS.10%29.aspx 和这里:http://msdn.microsoft.com/en-us/library/bb968832% 28VS.85%29.aspx