DeviceIoControl读取系统Change Journal监控文件变更。
Windows提供了几种方式对文件和目录进行监控,包括:FindFirstChangeNotification、ReadDirectoryChangesW、SHChangeNotifyRegister、变更日志(Change Journal)等。

FindFirstChangeNotification函数,可以监控到目标目录及其子目录中所有文件的变化,但不能监控到具体是哪一个文件发生改变。
ReadDirectoryChangesW 能监控到目标目录下某一文件发生改变,并且可以知道发生变化的是哪一个文件。(注意,FindFirstChangeNotification 和 ReadDirectoryChangesW 是互斥的,不能同时使用。)
但是:使用Windows API(ReadDirectoryChangesW)不能满足要求,如果变化量大又密集时,丢失通知现象很严重。
如果使用SHChangeNotifyRegister来监视文件变更的话,大部分用户文件操作可以被记录,但是部分系统操作将不会被记录。
于是,今天的这份源码将使用Change Journal来监视(查看)文件变更。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系贝贝进行处理。
本站默认解压密码:www.hibbba.com