在调用ReadDirectoryChangesW(重叠模式)后,它在两种相反的情况下返回1(真):1)没有文件改变,2)一个或多个文件改变;但是在第一种情况下,没有数据传递给IOCP,第二种情况是将指针传递给我的重叠结构。
如何在调用ReadDirectoryChangesW时确定它是否将重叠的结构传递给IOCP?换句话说,如何确定ReadDirectoryChangesW是否发现了变化?
在我的代码的某些部分,我调用GetQueuedCompletionStatus并获取有关已更改文件的完整信息,但在此之前我只想知道事实:是否有更改;
答案 0 :(得分:2)
如果您正在使用带有IOCP的ReadDirectoryChangesW()
,那么您在异步模式下使用它,因此在调用它之后,您应该等待它报告下一次发生的更改。
从IOCP收到完成通知后,您可以对其进行处理,然后再次致电ReadDirectoryChangesW()
以获取更多通知。