namespace NTFSExtensions
public class DiskFreeSpace
This class calls during construction the WinAPI function GetDiskFreeSpace and saves the results in corresponding fields.
Constructor
public DiskFreeSpace(String RootPathName)
- Call GetDiskFreeSpace with RootPathName as path parameter.
Properties
public int BytesPerCluster
- Calculated size of a volume cluster in bytes.
public int BytesPerSector
- Drive sector size. This depends on drive. Most used values are 512 or 4096.
public long NumberOfFreeBytes
- Calculated amount of free bytes on volume.
public int NumberOfFreeClusters
- Number of free clusters on volume.
public int SectorsPerCluster
- How many sectors contains a cluster. This depends on NTFS formating options and drive sector size. Most used values are 8 or 1.
public long TotalBytes
- Calculated size of volume in bytes.
public int TotalNumberOfClusters
- Size of volume in clusters.
public String UsedRoot
- The path used to create this object.
Remarks
You may create this object using any folder path on interesting volume if you have access rights to list this folder. To inspect current volume, create new object with null
as RootPathName value.
Example
public static void TestGetDiskFreeSpace()
{
DiskFreeSpace DFS = new DiskFreeSpace("c:\\Program Files");
Console.WriteLine("Volume information for volume C: using directory {0}", DFS.UsedRoot);
Console.WriteLine("Sector size:\t{0}", DFS.BytesPerSector);
Console.WriteLine("Cluster size:\t{0}", DFS.BytesPerCluster);
Console.WriteLine("Free clusters:\t{0:N0}, in bytes: {1:N0}", DFS.NumberOfFreeClusters, DFS.NumberOfFreeBytes);
Console.WriteLine("Total clusters:\t{0:N0}, in bytes: {1:N0}", DFS.TotalNumberOfClusters, DFS.TotalBytes);
}