-
-
[讨论]ReadDirectoryChangesW函数问题
-
发表于:
2010-3-31 18:14
7159
-
[讨论]ReadDirectoryChangesW函数问题
最近要做一个文件夹监控的程序,于是在找到了ReadDirectoryChangesW这个函数,这个函数可以返回文件夹下变更的文件的文件名等信息,所以比FindFirstChangeNotification这个函数强多了,但是我发现这个ReadDirectoryChangesW函数也不完美,在对监控的文件夹同时删除、移入多个文件时,这个函数不能返回所有删除或移入的文件的信息,比如,对于监控的文件夹,同时选中多个文件,十个以上,执行删除,时这个函数返回的变更数据就不完整了(注:我设置的接收数据缓冲区大小为4KB,一般的情况是够用了,不至于缓冲区太小而不能容纳文件变更数据)。不知道各位大侠有没有更好方法。下边是调用代码:
char buffer_[1024*32];
DWORD receives_bytes_ = 0;
memset(buffer_, 0, 1024*4);
ReadDirectoryChangesW(directory_handler_,
buffer_,
1024*4,
false,
FILE_NOTIFY_CHANGE_FILE_NAME,
&receives_bytes_,
NULL,
0);
print_change_file(buffer_);
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课