使用事务处理的NTFS阻止写锁定

时间:2010-08-14 19:38:09

标签: winapi transactions locking ntfs txf

根据the MSDN documentation,事务性NTFS似乎不允许在打开文件时阻止写入 - 而是使用ERROR_SHARING_VIOLATION打开操作失败。我想阻止写作 - 我怎么能这样做?

理想情况下,我想要解决方案的以下属性:

  1. 通过网络共享工作(因此没有本地命名的互斥锁处理)
  2. 如果拥有进程终止则自动释放
  3. 不需要单独的文件(命名流可以)
  4. 允许锁定等待超时(或可从其他线程或APC取消)
  5. 有没有人对使用具有这些属性的事务性NTFS的锁定方法有一些经验?

1 个答案:

答案 0 :(得分:2)

我不确定我到底知道你在问什么。 TXF不适用于SMB共享。

我的下意识建议是,如果您在使用TXF之前使用此文件,您可以继续在非交易模式下使用此文件......

仅供参考,TXF解决这些事务锁定冲突的原因是帮助应用程序避免死锁。