我有一个使用卷过滤器驱动程序在 Windows 操作系统上跟踪 NTFS 卷更改的软件。当卷在安装我的驱动程序的操作系统之外安装和修改时,我需要处理一个条件。
是否可以计算出卷的“最后安装时间”?或任何其他允许我判断音量是否已安装在我的驱动程序控制之外的参数?
我不知道“最后安装时间”,但有一个“日志文件打开计数”。如果您查看http://www.opensource.apple.com/source/ntfs/ntfs-64/kext/ntfs_logfile.h,您会看到RESTART_AREA
如下结构:
/* 40*/ le32 restart_log_open_count;/* 每增加一个计数器 重新启动日志文件的时间 在打开日志文件时的挂载时间。 创建时设置为随机值。Win2k 将其设置为当前的低 32 位 NTFS 格式的系统时间(参见 time.h)。*/ /* 44*/ le32 保留;/* 保留/对齐到 8 字节边界。*/ /* sizeof() = 48 (0x30) 字节 */ } __attribute__((__packed__)) RESTART_AREA;你可以看到它的末尾是一个
restart_log_open_count
你可以用来跟踪坐骑的地方。您将查看该值并将其与保存的值进行比较。它应该等于保存的值加一。如果是这样,则自您上次控制以来尚未安装它。