现在的位置: 首页 > 综合 > 正文

获得磁盘开销信息

2012年05月25日 ⁄ 综合 ⁄ 共 1141字 ⁄ 字号 评论关闭

这是一串获得磁盘开销信息很好的代码,当然也可以通过DriveInfoSystem info = DriveInfo.GetInfo("c:");来获得指定磁盘的开销情况.

public sealed class DriveInfo

{

    [DllImport("kernel32.dll", EntryPoint = "GetDiskFreeSpaceExA")]

    private static extern long GetDiskFreeSpaceEx(string lpDirectoryName,

        out long lpFreeBytesAvailableToCaller,

        out long lpTotalNumberOfBytes,

        out long lpTotalNumberOfFreeBytes);

 

    public static long GetInfo(string drive, out long available, out long total, out long free)

    {

        return GetDiskFreeSpaceEx(drive, out available, out total, out free);

    }

 

    public static DriveInfoSystem GetInfo(string drive)

    {

        long result, available, total, free;

        result = GetDiskFreeSpaceEx(drive, out available, out total, out free);

        return new DriveInfoSystem(drive, result, available, total, free);

    }

}

 

public struct DriveInfoSystem

{

    public readonly string Drive;

    public readonly long Result;

    public readonly long Available;

    public readonly long Total;

    public readonly long Free;

 

    public DriveInfoSystem(string drive, long result, long available, long total, long free)

    {

        this.Drive = drive;

        this.Result = result;

        this.Available = available;

        this.Total = total;

        this.Free = free;

    }

}

抱歉!评论已关闭.