Как я узнаю, что содержимое USB-накопителя изменено или нет - PullRequest
1 голос
/ 19 мая 2011

Я пишу встроенное мультимедийное приложение, в котором есть поддержка воспроизведения с USB-накопителя.Обычно, когда USB-накопитель вставлен, приложение анализирует весь USB-накопитель, чтобы вывести список всех песен и видео, имеющихся на накопителе.Этот список хранится в базе данных.В случае, если тот же диск подключен позже, приложение использует список из базы данных.

Идентификация диска выполняется с использованием серийного номера из дескриптора устройства USB.Но проблема в том, как я могу обнаружить, что любой новый контент добавлен или любой существующий контент удален?В настоящее время я ориентируюсь на поддержку только USB-накопителей в формате FAT32.

Есть ли способ обнаружить изменение содержимого накопителя?Как отметка времени последнего доступа или последний измененный кластер?

1 Ответ

1 голос
/ 19 мая 2011

Если у вас есть доступ к необработанному блочному устройству, вы можете кэшировать соответствующие части FS информационного сектора .Либо количество свободных кластеров, либо число последних выделенных изменений кластера скажут вам, что что-то изменилось, хотя вам придется отслеживать, что это было вручную.Последняя измененная запись в таблице каталогов может быть полезной для этого, но я не думаю, что она обязательно надежна - это зависит от того, насколько строгой была запись в устройство.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...