如何确定Win32上的最佳磁盘IO块大小?

时间:2010-08-13 15:57:32

标签: c winapi stat

在Posix系统上,stat结构的st_blksize成员包含给定文件的IO的最佳块大小。看起来stat(_stat& _stat64)的Win32实现不支持此字段。什么是确定给定文件或文件系统的最佳IO块大小的Win32等效方法?

1 个答案:

答案 0 :(得分:2)

我不确定这是否总会返回最佳数字,但Win32调用GetDiskFreeSpace会返回lpBytesPerSectorlpSectorsPerCluster;乘以那些来获得每个簇的字节数,这可能是一个合理的值,用作缓冲区大小。

此调用不适用于文件,而是适用于文件系统,因此在使用文件之前,您必须弄清楚文件的根目录。