• ベストアンサー

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

  • コピー後の空き容量を調べたい

    コピー後のディスクの空き容量をコピー前に調べられるソフトをVB2005において開発しています。 コピー後の空き容量を調べるには、クラスタサイズを取得しなければなら ない?と思い、Win32APIを調べてみたところ「GetDiskFreeSpace」というAPIを利用すると取得できそうでした。 が、よく調べてみると2GBより大きいボリュームに対してはつかえないことがわかり、現在ここで足踏みしております。 恐れ入りますが、FT32,NTFSフォーマットのコピー後の空き容量の求め方をご教示願えないでしょうか。 よろしくお願いします。

  • ファイルシステムとディスク容量について

    こんばんわ。 現在win2000を使用しているんですが、win2000だけに限らず、windowsのファイルシステムとハードディスクの容量との関係について教えていただきたいと思います。 まず、それぞれのファイルシステムに関して、クラスタのサイズと数によって容量が決まるようなのですが、詳しいことがわからないので教えていただけないでしょうか。特にFAT32とNTFSについてよろしくお願いします。 次に、win2000で外付けSCSIハードディスクに関して。win2000でファイルシステムがFAT32だと、最大32GBまでしか認識できないと書いてあったんですが、どういうことなんでしょうか。 以上、よろしくお願いいたします。

  • ネットワーク越しにディスク容量を取得する

    ネットワークXにコンピュータAとコンピュータBが繋がっているとします。 コンピュータBについては別のネットワークYにも繋がっており、 ネットワークYにはコンピュータCが繋がっております。 この際、コンピュータAとコンピュータCは直接的には繋がっていないのですが、 コンピュータBを利用し、何とかコンピュータAからコンピュータCのディスク容量を確認したいのです。 条件: ・全てWindowsXP ・バッチファイルにて取得 ・標準インストールのコマンドのみ使用 この条件で、ディスク容量の取得は可能でしょうか?

  • HDDのバイナリイメージの取得方法について

    HDDのバイナリイメージの取得方法について 例えばRAIDストラッピングのHDDの1個など、単体ではファイルシステムをOSから認識しないHDDについて バイナリイメージを取得したいのですが、 どのような方法があるでしょうか? できれば、WindowsでUSB接続でフリーソフトで取得できればいいのですが、 OSはlinux 接続方法はSATA でもかまいません フリーソフトがなければAPI等がわかるサイトで結構ですので教えてください。

  • MacでSDカードのフォーマット

    Mac OS のPCに、USBリーダーなどを利用してSDカードを差し、Macからフォーマットをかけたいという希望があります。 4GBのSDカードなのですが、Windows上でも利用することを前提に、ユーティリティから、FATでフォーマットをかけた際のクラスタサイズは何kBになるでしょうか? 2kB程度のファイルを数多く保存したいため、クラスタサイズが大きいと、ファイルの保存数が少なくなってしまいます。 もしお試しいただける方がございましたら、USBカードリーダーの型式も合わせてお知らせいただけると幸いです。

    • ベストアンサー
    • Mac
  • SDカードの容量

    SD-Jukebox(パナソニック)で音楽ファイルの管理をしています。 SDカードがいっぱいになりそうだったので、SDカードから 曲を削除したはずなのですが、SDの容量が変わりませんでした。 どうすれば、容量が減るのでしょうか。

  • スマホとPCで、ファイル数や容量が異なる

    android端末に入っているSDカード内にある特定のフォルダを、androidのESファイルマネージャから見た場合と、windowsでカードリーダを通してみた場合に違いがでます。 同じフォルダをプロパティで見てみると、androidの場合はファイル数308/フォルダ数21/容量12.9GB。windowsの場合はファイル数411/フォルダ数21/容量15.5GBになります。 windowsで確認できるファイルをandroidoで確認できないので、端末内で開けなくて困っています。 どういった原因が考えられるでしょうか。よろしくお願いします。

  • SDカードの容量について

    SDカードの容量ですが、音楽アルバムを入れるのに、何GBのカードを買えばよいのですか?たとえば2GBだとアルバムが何枚入るのでしょうか?音楽コピーソフトがPCに入っていますが、このソフトでSDカードに入れられるのでしょうか?初歩的な質問ですいません。m(__)m

  • OSの種類とCPUの周波数とメモリ容量を取得したいです。

    OSの種類とCPUの周波数とメモリ容量を取得したいです。 方法は問いませんが、やりたいことはWindows上のクライアントPC上で OSの種類とCPUの周波数とメモリ容量を取得して、 条件に合うかどうかの判定をしたいのです。 プログラムやバッチファイルなどで可能かどうか? 可能であればどういうやり方で行うかを教えて下さい。 イメージ CDROMやNWドライブを介してプログラム?スクリプト?を配布。 お客さんに実行してもらう。 OSの種類とCPUの周波数とメモリ容量を取得して、条件をクリアしているか試したいのです。 条件 Windows98⇒Vistaのバージョンで、クリーンインストール状態で動く (含む64ビット) VBのランタイム等入れなくても良い。

  • リムーバブルディスクとしてマウントするには?

    イメージファイルを、リムーバブルディスクとしてWindows上に マウントするには、どうすれば良いでしょうか? 具体的には、SDカードのイメージを、仮想的にリムーバブルドライブ として使いたいのですが・・・。