Вы можете прочитать файл только в том случае, если программа, открывшая файл, первой указала права на совместное чтение для этого файла.
Если у файла действительно нет прав на совместное чтение, вы не сможете его скопировать.
Возможно, вы не сможете получить доступ к файлу, если вы укажете право совместного использования, которое конфликтует с правом совместного использования программы, в которой файл уже открыт. Например, вы не можете предоставить доступ на запись, если программа, которая уже открыла его, не предоставляет доступ на запись.
Если программа, открывшая файл в первую очередь, поддерживает теневое копирование тома (VSS), вы также можете использовать VSS для получения доступа к файлу.
Существуют коммерческие программные драйверы, которые позволяют получить доступ к таким файлам, даже когда они используются. Раньше вы могли получить Open File Manager от St-Bernards, а также можете использовать File Access Manager (FAM) от VisionWorks Solutions Inc. Эти драйверы обычно поставляются OEM-производителями компаниям-разработчикам программного обеспечения для резервного копирования для включения в их продукты.
VSS работает, сообщая программе, у которой уже открыт файл, о том, что другая программа хотела бы прочитать из файла. Затем VSS делает копию файла и позволяет вам читать из этой копии. VSS не работает с устаревшими приложениями.
FAM прозрачно работает как с устаревшими, так и с другими программами, указывая «разрешенный список» приложений, которые могут получать доступ только к открытым и заблокированным файлам. Доступ к этим файлам разрешен только программам из этого списка. Когда файл открывается, он переходит в режим кеширования, так что вы получите копию файла, как это было при запуске «резервного копирования / открытия» файла. На этом этапе программа, которая первоначально открыла файл, видит файл таким, какой он есть на самом деле, а вторая программа в разрешенном списке видит файл таким, каким он был, когда произошло «открытие / резервное копирование» файла. Это гарантирует целостность файла.
person
Brian R. Bondy
schedule
15.10.2008