人に聞けない痔の悩み、これでスッキリ >>

コピー後のディスクの空き容量をコピー前に調べられるソフトをVB2005において開発しています。

コピー後の空き容量を調べるには、クラスタサイズを取得しなければなら
ない?と思い、Win32APIを調べてみたところ「GetDiskFreeSpace」というAPIを利用すると取得できそうでした。

が、よく調べてみると2GBより大きいボリュームに対してはつかえないことがわかり、現在ここで足踏みしております。

恐れ入りますが、FT32,NTFSフォーマットのコピー後の空き容量の求め方をご教示願えないでしょうか。

よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

>が、よく調べてみると2GBより大きいボリュームに対してはつかえないことがわかり、現在ここで足踏みしております。



って、Windows9X系の場合ではなかったかな?
GetDiskFreeSpaceで取得できるか試してみてください。
    • good
    • 0
この回答へのお礼

>って、Windows9X系の場合ではなかったかな?
>GetDiskFreeSpaceで取得できるか試してみてください。

試してみました。
<System.Runtime.InteropServices.DllImport("kernel32.dll", _
CharSet:=System.Runtime.InteropServices.CharSet.Auto)> _
Public Shared Function GetDiskFreeSpace( _
ByVal lpRootPathName As String, _
ByRef lpSecctorsPerCluster As UInt32, _
ByRef lpBytesPerSector As UInt32, _
ByRef lpNumberOfFreeClusters As UInt32, _
ByRef lpTotalNumberOfClusters As UInt32) As _
<System.Runtime.InteropServices.MarshalAs( _
System.Runtime.InteropServices.UnmanagedType.Bool)> Boolean
End Function

上記のAPIで試してみたところ、値は取得できました。
ただ気になるのがこの値の信頼性です。
これはFAT32やNTFSにかかわらず常に正常に作動するのでしょうか。

よろしくお願いします。

お礼日時:2007/01/15 20:01

GetDiskFreeSpaceEx関数では駄目でしたか?

    • good
    • 0
この回答へのお礼

回答ありがとうございます。

GetDiskFreeSpaceExですと、現在の空き容量などは取得可能なのですが、
クラスタサイズが取得できないようです。

もし、この関数からクラスタサイズを取得できる方法などございましたら
教えてください。

よろしくお願いします。

お礼日時:2007/01/15 16:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング