通常ドライブの容量を得るにはWin32APIのGetDiskFreeSpaceを使います。
しかし、ドライブコンバーター(FAT32)で圧縮してあるドライブの容量を取得しようとすると、返って来る数値が、FAT32ドライブであることが反映されていないようなのです。実際のところどうなっているのでしょうか?
もし反映されていないとしたらFAT32ドライブとしての容量を取得するにはどうすれば良いのでしょうか?お教えください。
googleで検索したら、
http://www.ne.jp/asahi/nagoya/ahomaro/builder/cpb-066.html
こういうページを見つけました。
C++Builderでの話ですが、Delphiとほぼ同じです。
GetDiskFreeSpaceは、2GB以上を認識できません。2GB以上なら、GetDiskFreeSpaceExを使用します。GetDiskFreeSpaceExは、Win95OSR2以降でないと使えません。
GetDiskFreeSpaceは、2GB以上を認識できない事をはじめて知り、勉強になりました。それと、調べてみるとGetDiskFreeSpaceExやGetDiskFreeSpaceExAというAPIの存在もわかりましたので、疑問は解決しました。にしの様はじめ、皆様、どうもありがとうございました。
ツイート | ![]() |