1

6 GB の SanDisk カードが挿入された Palm Centro の Palm OS で VFSVolumeSize を呼び出すと、カードのサイズとして 1810366464 が返されますが、2098102272 バイトが使用されます。明らかに、カード サイズでオーバーフローが発生しています。

このオーバーフローを検出してカードの実際のサイズを取得する方法はありますか?

4

1 に答える 1

1

これを行う素晴らしい方法はありません。VFSVolumeSize API は 32 ビット値のみを使用するため、4GB を超えるサイズを正しく報告できません。カード スロットについて教えてくれる拡張マネージャー API はありますが、カードのブロック サイズやブロック数については何も教えてくれません。

デバイスの Card Info アプリにアクセスすると、同じエラーが表示されます — カードのサイズも不適切に示されます。

于 2008-11-18T23:11:10.200 に答える