ReadDirectoryChangesW()和FindFirstChangeNotification()API之间的区别是什么?

时间:2014-10-30 07:54:24

标签: readdirectorychangesw

我想知道特定目录的任何更改文件。所以,我想出了ReadDirectoryChangesW()和FindFirstChangeNotification() - FindNextChangeNotification()API。

然后,我使用ReadDirectoryChangesW()函数实现。但是,我不知道为什么有FindFirst ... blabla API。 我认为ReadDirectoryChangesW()函数可以完成FindFirst ... API的所有工作。

有什么区别?

1 个答案:

答案 0 :(得分:2)

FindFirstChangeNotification

  

创建更改通知句柄并设置初始更改通知过滤条件。 {...} 此功能不表示满足等待条件的更改 。要在通知中检索有关特定更改的信息,请使用ReadDirectoryChangesW函数。

ReadDirectoryChangesW

  

检索描述指定内更改的信息   目录。该函数不会报告对指定的更改   目录本身。

结论:

如果要注册文件监听器,请使用 FindFirstChangeNotification ,但请记住,此功能DOESN等待更改,以实现您需要使用 WaitForSingleObject 注册文件监听器后。

如果您不关心所听路径的更改类型,则无需使用 ReadDirectoryChangesW 。如果您需要知道触发 WaitForSingleObject 的确切更改是什么,那么您需要才能使用 ReadDirectoryChangesW