• ベストアンサー

WindowsXPはリムーバブルディスクの空き容量をどうやって取得しているのでしょうか?

WindowsXPが物理ドライブの空き容量を取得する時、どのような方法で取得しているのか教えてください。 FAT32フォーマットのリムーバブルディスク(SDカード)の空き容量を取得する時、ファイルシステムのFSINFOの空きクラスタ数から空き容量を算出していると思っていました。 ですが、SDのイメージを取りバイナリエディタで直接イメージのFSINFOの空きクラスタ数を書き換え、イメージをSDに戻して空き容量を見てみると正常な空き容量が表示されました。 Windowsではどのようにして空き容量を取得しているのでしょうか? ご存知の方がいらしたら教えていただけますか。 ちなみにこの状態で、SDカードにファイルを追加するとFSINFOの空きクラスタ数は正常な値に更新されます。 イメージのバックアップ、リストアに利用したソフトはSelfImageというソフトを利用させていただきました。 SelfImage http://www.forest.impress.co.jp/article/2007/04/11/selfimage.html また、セクタ情報の表示には低空飛行というものを利用させていただきました。 http://www.vector.co.jp/soft/dl/win95/hardware/se072470.html

質問者が選んだベストアンサー

  • ベストアンサー
noname#208124
noname#208124
回答No.2

FATエントリ全部見てるとか推測は出来てもソースコードがない以上どうやってかなんてわかりはしませんよ 入手にはNDA署名が必要ですから知ってる人がいてもここに書かれることはないでしょう

gyuu_milk
質問者

お礼

回答ありがとうございます。 ソースコードないとわからないですか・・・。 NDAに触れる内容でしたらこれで回答を締め切ったほうがよさそうですね。 貴重なご意見ありがとうございました。

その他の回答 (1)

noname#74226
noname#74226
回答No.1

GetDiskFreeSpace http://msdn.microsoft.com/ja-jp/library/cc429305.aspx GetDiskFreeSpaceEx http://msdn.microsoft.com/ja-jp/library/cc429308.aspx ではないでしょうか。 一発で取得できます。

gyuu_milk
質問者

お礼

早速の回答ありがとうございます。 こういうAPIもあるのですね。 参考になりました、ありがとうございます。

関連するQ&A