确定驱动器的大小(驱动器上没有文件系统)Win7

时间:2011-12-31 21:59:10

标签: winapi

IOCTL_DISK_GET_DRIVE_GEOMETRY example code of Microsoft为硬盘提供了预期的results

SD卡是驱动器F:并且没有文件系统。该卡之前是由8位微控制器编写的,文件系统是不可能的。在Windows资源管理器中,SD卡大小正确显示为1886 MB。但是当我运行程序时,我得到0.01 GB。

示例代码是否正确?我略微更改了原始代码,更改后的代码为here

这可能是Mingw的一个问题吗?我怀疑,它适用于硬盘。它是WinXP SP2上的mingw32 gcc 4.6.1。生成的程序在Win7上运行。我正在使用Linux,而且我对本机Win7的访问权限非常有限。

如何在没有文件系统的情况下弄清楚SD卡的大小?

1 个答案:

答案 0 :(得分:2)

正如Hans Passant所指出的,IOCTL_DISK_GET_LENGTH_INFO应传递给DeviceIoControl

如果遵循CreateFile remarks concerning physical disks and volumes,一切正常。生成的代码为here