获取硬盘的簇大小(通过代码)

时间:2009-07-02 10:31:13

标签: c winapi file-io ntfs

我需要通过C或C ++找到用户硬盘的簇大小。硬盘驱动器使用NTFS(虽然我很高兴知道它是如何在其他文件系统上完成的。)

我想我需要的是win32 API调用的一些组合,但我不知道哪个。

例如,在Windows控制台中键入“fsutil fsinfo ntfsinfo c:”会为您提供“每个群集的字节数”,这就是我需要的。 (虽然出于显而易见的原因,我不想运行该命令并解析它的输出。)

1 个答案:

答案 0 :(得分:14)

使用GetDiskFreeSpace

BOOL WINAPI GetDiskFreeSpace(
  __in   LPCTSTR lpRootPathName,
  __out  LPDWORD lpSectorsPerCluster, // <--
  __out  LPDWORD lpBytesPerSector, // <--
  __out  LPDWORD lpNumberOfFreeClusters,
  __out  LPDWORD lpTotalNumberOfClusters
);