ReadDirectoryChangesW:如何检测操作是否成功排队?

时间:2013-09-05 11:48:05

标签: iocp

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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