1

USBドライブからの再生がサポートされている組み込みシステムのマルチメディアアプリケーションを書いています。通常、USBドライブが挿入されると、アプリケーションはUSBドライブ全体を解析して、ドライブに存在するすべての曲とビデオを一覧表示します。このリストはデータベースに保存されます。同じドライブが後で接続される場合、アプリケーションはデータベースのリストを使用します。

ドライブの識別は、USBデバイス記述子のシリアル番号を使用して行われます。しかし、問題は、新しいコンテンツが追加されたか、既存のコンテンツが削除されたことをどのように検出するかです。現在、FAT32フォーマットのUSBドライブのみをサポートすることを目標としています。

ドライブの内容の変化を検出する方法はありますか?最後にアクセスしたタイムスタンプまたは最後に変更したクラスターのように?

4

1 に答える 1

1

rawブロックデバイスにアクセスできる場合は、 FS情報セクターの関連部分をキャッシュできます。空きクラスターの数または最近割り当てられたクラスターの変更の数のいずれかにより、何かが変更されたことがわかりますが、手動で何が変更されたかを追跡する必要があります。ディレクトリテーブルの最後に変更されたエントリはこれに役立つ可能性がありますが、必ずしも信頼できるとは思いません。これは、デバイスへの書き込みがどれほど厳格であったかによって異なります。

于 2011-05-19T15:25:38.383 に答える