2010-08-14 3 views
-1

Согласно the MSDN documentation, транзакционная NTFS, похоже, не позволяет блокировать при открытии файла для записи - вместо этого операция open завершается с ошибкой ERROR_SHARING_VIOLATION. Я хотел бы блокировать записи вместо этого - как я могу это сделать?Блокировка блокировок записи с транзакцией NTFS

В идеале я хотел бы следующие свойства раствора:

  1. работает над сетевым ресурсом (поэтому нет локального имени мьютекса не обрабатывает)
  2. Авто-релизы, если процесс владеющего умирает
  3. Безразлично «т требует отдельного файла (названные потоки OK)
  4. Позволяет стопорное ждать, чтобы иметь тайм-аут (или быть сократимыми из другого потока или APC)

Есть ли у кого-нибудь опыт использования метода блокировки, который работает с транзакционной NTFS с этими свойствами?

ответ

2

Я не уверен, что я точно понимаю, что вы просите. TXF не работает с акциями SMB.

Моего рефлекторное предложение было бы, что если вы используете файлы для этого перед использованием TXF, вы можете продолжать использовать файл для этого в не-транзакционной режиме ...

FYI, причина TXF терпит неудачу эти конфликты блокировки транзакций - помочь приложениям избежать взаимоблокировок.