我正在编写一个嵌入式系统多媒体应用程序,支持从USB驱动器播放。通常,当插入USB驱动器时,应用程序会解析整个USB驱动器以列出驱动器中存在的所有歌曲和视频。该列表存储在数据库中。如果以后连接了相同的驱动器,应用程序将使用数据库中的列表。
使用USB设备描述符中的序列号完成驱动器的识别。但问题是如何检测是否添加了任何新内容或删除了任何现有内容? 目前我的目标是仅支持FAT32格式的USB驱动器。
有没有办法检测驱动器内容的变化?像上次访问的时间戳或上次修改的群集一样?
答案 0 :(得分:1)
如果您有权访问原始块设备,则可以缓存FS information sector的相关部分。免费群集的数量或最近分配的群集更改的数量将告诉您某些内容已更改,但您必须追踪手动内容。目录表中最后修改的条目可能对此有用,但我认为它不一定可靠 - 这取决于写入设备的严格程度。