■ ManagementObject 클래스 : 디스크 전체 섹터 수 구하기

------------------------------------------------------------------------------------------------------------------------

using System.Management;

 

#region 전체 섹터 수 구하기 - GetTotalSectorCount(physicalDiskName)

 

/// <summary>

/// 전체 섹터 수 구하기

/// </summary>

/// <param name="physicalDiskName">물리적 디스크명</param>

/// <returns>전체 섹터 수</returns>

public int GetTotalSectorCount(string physicalDiskName)

{

    try

    {

        ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_DiskDrive");

 

        foreach(ManagementObject managementObject in managementObjectSearcher.Get())

        {

            if(physicalDiskName == managementObject["DeviceID"].ToString())

            {

                object totalSectorCountObject = managementObject["TotalSectors"];

 

                return int.Parse(totalSectorCountObject.ToString());

            }

        }

    }

    catch(ManagementException)

    {

        return -1;

    }

 

    return -1;

}

 

#endregion

------------------------------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker
TAG