我们正在使用一个基于windows的小型自制工具来编写操作系统、图像和一个包含SD卡上数据的FAT分区,然后这些数据将在嵌入式设备中用作引导介质和数据存储。
我目前正在使用IOCTL_DISK_GET_DRIVE_GEOMETRY获取SD卡的大小。然而,由于CHS格式的限制,它并不是SD卡的真实大小。这不是一个大问题,因为只有几个扇区被浪费了,但是使用卡上的所有可用空间会很好。
有没有更好的方法来获取驱动器的大小?记住,我对分区大小不感兴趣。我需要SD卡上我可以访问的字节(或扇区)的总数。此外,驱动器可能没有格式化(正确的-我的工具创建了“太小”的分区),并且不能先用windows格式化它。
佛子
发布于 2009-09-04 18:06:47
您可以尝试使用IOCTL_DISK_GET_LENGTH_INFO。但是,此IOCTL是在Windows XP和更高版本的OSes中添加的。
http://msdn.microsoft.com/en-us/library/aa365178(VS.85).aspx
https://stackoverflow.com/questions/1380688
复制相似问题