GetDiskFreeSpace
API:MSDNの空き領域を返すときにクォータを考慮していますか?GetDiskFreeSpace APIはフォルダクォータを考慮しますか?
たとえば、E:\ドライブに50GBの空き容量があり、10Gbのハード制限があるフォルダがある場合、このAPIを使用してフォルダの空き容量を取得すると、どれくらい返されますか? 10GBまたは50GB?
GetDiskFreeSpace
API:MSDNの空き領域を返すときにクォータを考慮していますか?GetDiskFreeSpace APIはフォルダクォータを考慮しますか?
たとえば、E:\ドライブに50GBの空き容量があり、10Gbのハード制限があるフォルダがある場合、このAPIを使用してフォルダの空き容量を取得すると、どれくらい返されますか? 10GBまたは50GB?
はい、GetDiskFreeSpace
とGetDiskFreeSpaceEx
は両方ともフォルダクォータを考慮します。
NB:GetDiskFreeSpace
のドキュメントによると、ルート以外のディレクトリのクエリはサポートされていません。私はドキュメントがちょうど古くなっていると思われますが、予防措置として、このような制限がないGetDiskFreeSpaceEx
を使用する方が安全です。
GetDiskFreeSpaceEx
関数は、ユーザーが使用できる空きバイト数(ユーザークォータとフォルダクォータを考慮して)と空きバイト数の両方を返します。ユーザーが空きバイト数を使用できるようにするには、lpFreeBytesAvailable
を使用し、空きバイト数の合計(クォータを無視する)を使用する場合は、lpTotalNumberOfFreeBytes
を使用します。
「GetDiskFreeSpaceEx」は、ボリュームと共有(ドライブレター、マウントされたボリューム、UNCルート)でのみ動作し、フルパスが指定されている場合はそのルートを探します。 – Anders
@アンダー、私は自分の答え(Windows 7と2008 R2)を投稿する前にそれをテストしたが、確かにフォルダクォータを考慮に入れている。そのためには 'GetDiskFreeSpace'もそうです。私が正しく覚えていれば、Windows XPでは動作しませんでした。私はVista/2008について完全にはわからない。 (あなたの答えのリンクはこれがVistaで修正されたと言いますが) –
非Exバージョンはおそらくルーツに限定されています.Windows 95上で唯一のものです.2GBに制限されているので、もう役に立ちません。それが根だけを受け入れるならば、フォルダの非Exバージョンをどのようにテストしましたか? – Anders