-1

我有一些基于 TxF 系统的文件/目录管理工具。基本上它是这样工作的:

  1. 我正在使用CreateTransaction函数创建事务。
  2. 在代码后面的某个地方,我使用CreateDirectoryTransacted函数创建了许多目录。
  3. 稍后我需要确定我是否已经从给定路径中的点 (2) 创建的目录仍在此事务中(CommitTransaction到目前为止没有调用)。

是否有一些替代品PathFileExists但可以使用交易系统?

4

1 回答 1

0

我已经设法使用CreateDirectoryTransacted和错误代码解决了这个问题ERROR_ALREADY_EXISTS

方法如下:
CreateDirectoryTransacted返回不同的错误代码,其中之一是ERROR_ALREADY_EXISTS. 我可以使用这个特定的错误来确定目录是否已经存在。如果没有,并且我刚刚创建了它,则无需担心 - 我可以在同一事务中使用RemoveDirectoryTransacted. 我知道如果发生很多创建->删除目录,将会有一些小的开销,但这不是我的情况。这就是我解决这个问题的方法。

如果有人有更好的解决方案的想法 - 我愿意将正确的答案更改为更通用的解决方案。

于 2021-07-23T08:27:47.320 回答