Переполнение VFSVolumeSize на 6 ГБ + картах на Palm Centro
Когда я вызываю VFSVolumeSize в Palm OS на Palm Centro с вставленной картой SanDisk 6 ГБ, в качестве размера карты возвращается 1810366464, но используется 2098102272 байта. Очевидно, что происходит переполнение с размером карты.
Есть ли способ обнаружить это переполнение и получить реальный размер карты?
1 ответ
Там нет отличный способ сделать это. API-интерфейс VFSVolumeSize использует только 32-разрядные значения, поэтому он не может правильно сообщить размер, превышающий 4 ГБ. Существуют API-интерфейсы менеджера расширения, которые могут рассказать вам о слоте для карты, но ни один из них не говорит о размере блока или количестве блоков для карты.
Вы увидите ту же ошибку, если зайдете в приложение Card Info на устройстве - оно также будет неправильно указывать размер карты.