0

在调用 ReadDirectoryChangesW(重叠模式)后,它在两种相反的情况下返回 1(真):1)没有文件更改,2)一个或多个文件更改;但在第一种情况下,没有数据传递给 IOCP,而在第二种情况下,将指针传递给了我的重叠结构。

如何在调用 ReadDirectoryChangesW 时确定它是否将我的重叠结构传递给 IOCP?换句话说,如何确定 ReadDirectoryChangesW 是否发现了变化?

在我的代码的某些部分中,我调用 GetQueuedCompletionStatus 并获取有关已更改文件的完整信息,但在此之前我只想知道事实:是否更改;

4

1 回答 1

2

如果您使用ReadDirectoryChangesW()的是 IOCP,那么您是在异步模式下使用它,因此在调用它之后,您应该等待它在发生下一次更改时报告它。

从 IOCP 收到完成通知后,您可以对其进行处理,然后ReadDirectoryChangesW()再次调用以获取更多通知。

于 2013-09-05T13:48:31.350 回答