VFSVolumeSize 在 6GB 上溢出+ Palm Centro 上的卡
当我在插入了 6GB SanDisk 卡的 Palm Centro 上的 Palm OS 上调用 VFSVolumeSize 时,它返回 1810366464 作为卡的大小,但使用了 2098102272 字节。 显然,卡片尺寸存在溢出。
有没有办法检测这种溢出并获取卡的实际大小?
When I call VFSVolumeSize on Palm OS on a Palm Centro with a 6GB SanDisk card inserted, it returns 1810366464 as the size of the card but 2098102272 bytes used. Obviously there's an overflow going on with the card size.
Is there a way to detect this overflow and get the real size of the card?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
没有什么好的方法可以做到这一点。 VFSVolumeSize API 仅使用 32 位值,因此无法正确报告大于 4GB 的大小。 有一些扩展管理器 API 可以告诉您有关卡插槽的信息,但它们都没有谈论卡的块大小或块数量。
如果您进入设备上的“卡信息”应用程序,您会看到同样的失败 - 它还会错误地指示卡的大小。
There's no great way to do this. The VFSVolumeSize API only uses 32-bit values, so it can't correctly report a size greater than 4GB. There are expansion manager APIs that can tell you about the card slot, but none of them talk about block size or number of blocks for the card.
You'll see the same failure if you go into the Card Info app on the device — it will also improperly indicate the card's size.