Переполнение VFSVolumeSize на 6 ГБ + картах на Palm Centro

Когда я вызываю VFSVolumeSize в Palm OS на Palm Centro с вставленной картой SanDisk 6 ГБ, в качестве размера карты возвращается 1810366464, но используется 2098102272 байта. Очевидно, что происходит переполнение с размером карты.

Есть ли способ обнаружить это переполнение и получить реальный размер карты?

1 ответ

Там нет отличный способ сделать это. API-интерфейс VFSVolumeSize использует только 32-разрядные значения, поэтому он не может правильно сообщить размер, превышающий 4 ГБ. Существуют API-интерфейсы менеджера расширения, которые могут рассказать вам о слоте для карты, но ни один из них не говорит о размере блока или количестве блоков для карты.

Вы увидите ту же ошибку, если зайдете в приложение Card Info на устройстве - оно также будет неправильно указывать размер карты.

Другие вопросы по тегам