31得票4回答
Mac OS X中的文件级别文件系统变更通知

我希望我的代码能在给定目录(直接或间接)下的任何文件被修改时得到通知。所谓“修改”,是指我希望每当文件内容被更改、文件被重命名或删除,或添加新文件时,都能通知我的代码。对于我的应用程序,可能会有成千上万个文件。 我查看了FSEvents,但其技术概述中部分内容如下: 重要的一点是,通知的粒...

21得票3回答
如何防止ReadDirectoryChangesW错过文件更改

互联网上有很多帖子关于ReadDirectoryChangesW API函数在文件活动很多时丢失文件。大多数人将这归咎于调用ReadDirectoryChangesW函数的速度。这是一个错误的假设。我看过的最好的解释在以下帖子中,这是2008年4月14日星期一下午2:15:27的评论。 ht...

13得票2回答
为什么ReadDirectoryChangesW会忽略事件?

我使用ReadDirectoryChangesW来监视指定的目录,并在检测到更改时更新索引结构。我使用以下代码(大致)var InfoPointer : PFileNotifyInformation; NextOffset : DWORD; ... while (not Termina...

13得票1回答
如何使用带完成例程的 ReadDirectoryChangesW() 方法?

我想在异步模式下使用带有I/O完成例程的ReadDirectoryChangesW()函数。 问题是我不知道如何在完成例程中检索有关更改的确切信息(一个名为CALLBACK的函数)。完成例程定义如下:VOID CALLBACK FileIOCompletionRoutine( [in] ...

10得票2回答
异步阅读目录变化W - GetQueuedCompletionStatus总是超时

正如其名称,我正在尝试使用IO完成执行异步ReadDirectoryChangesW,但它没有起作用,具体来说,GetLastError重复返回258(GetQueuedCompletionStatus超时)。 我有以下结构: typedef struct dirinfo_struct {...

9得票1回答
如何处理Windows的ReadDirectoryChangesW()及其混合长/短文件名输出?

我正在开发一段C代码,使用ReadDirectoryChangesW()在Windows下监控目录中的更改。我已经阅读了ReadDirectoryChangesW()和FILE_NOTIFY_INFORMATION结构相关的MSDN条目,以及其他几篇文档。目前为止,我成功地监视了多个目录,没有...

8得票1回答
Delphi等待文件复制过程完成

我有一个线程,使用ReadDirectoryChangesW来通知我文件夹中添加或删除文件的情况。 对于每个新图像,我会打开文件并创建缩略图。然而,似乎在文件完全复制到目标文件夹之前就收到了通知,在这种情况下,我只能得到部分缩略图。(文件从远程位置复制到中央服务器,网络在高峰时段可能会变慢。...

7得票1回答
ReadDirectoryChangesW()和FindFirstChangeNotification()这两个API之间有什么区别?

我想知道特定目录的任何更改文件。因此,我找到了 ReadDirectoryChangesW() 和 FindFirstChangeNotification() - FindNextChangeNotification() API。 然后,我使用了ReadDirectoryChangesW()...