如何直接从磁盘复制锁定的文件并确保文件完整无缺?

| 我正在编写的应用程序需要能够复制锁定的文件。我们尝试使用“卷影复制”,虽然它成功复制了文件,但具有文件锁定功能的应用程序崩溃了,因为在我们复制文件时无法获取锁定。 我相信我唯一的选择是绕过操作系统并直接从磁盘读取。问题是,如果我直接读取磁盘,则无法确定文件的完整性,如果在写入过程中,文件将处于损坏状态。 经过数小时的搜索,我能够找到一个实用程序,该实用程序直接从磁盘上复制了文件,并在复制时使用文件系统驱动程序来缓存写操作,以便可以确保文件处于完整状态。但是,该实用程序非常昂贵,我可能需要使用100k +的许可证。 有人对我要完成的事情有任何想法吗? 我们计划将系统限制为仅NTFS卷。     
已邀请:
        我最终使用了由Napalm编写的名为DirectCopy的C程序。效果不错。 http://www.rohitab.com/discuss/topic/24252-ntfs-directcopy-method-from-napalm/     
        您可以在执行复制时获取已锁定的应用程序的进程ID并挂起其线程吗?像这样的东西http://www.codeproject.com/KB/threads/pausep.aspx     
        对“分层驱动程序”的描述可能会有用。我对此一无所知。 另外,如果文件被锁定,那么您可以“观看”它并等待它被解锁然后快速复制它吗?     

要回复问题请先登录注册