1

我正在编写一个嵌入式系统多媒体应用程序,其中支持从 USB 驱动器播放。通常,当插入 USB 驱动器时,应用程序会解析整个 USB 驱动器以列出驱动器中存在的所有歌曲和视频。该列表存储在数据库中。如果稍后连接相同的驱动器,应用程序将使用数据库中的列表。

使用 USB 设备描述符中的序列号来识别驱动器。但问题是如何检测添加了任何新内容或删除了任何现有内容?目前我的目标是仅支持 FAT32 格式的 USB 驱动器。

有什么方法可以检测驱动器内容的变化吗?就像上次访问的时间戳或上次修改的集群一样?

4

1 回答 1

1

如果您可以访问原始块设备,则可以缓存FS 信息扇区的相关部分。空闲集群的数量或最近分配的集群更改的数量都会告诉您发生了一些变化,尽管您必须手动追踪是什么。目录表中最后修改的条目可能对此有用,但我认为它不一定可靠 - 这取决于写入设备的严格程度。

于 2011-05-19T15:25:38.383 回答