Beispiel #1
0
        /// <summary>
        /// Get the details of drive with specified device ID.
        /// </summary>
        /// <param name="deviceId">Device ID. e.g. PHYSICALDRIVE0</param>
        /// <param name="driveLetter">
        /// A valid drive drive letter.
        /// This can be either uppercase or lowercase, 'a' to 'z'.
        /// </param>
        /// <returns>Drive Details</returns>
        private static DriveDetails GetDetails(string deviceId, char driveLetter)
        {
            DriveDetails details = new DriveDetails();

            SelectQuery q1 = new SelectQuery("SELECT * FROM Win32_DiskDrive");
            SelectQuery q2 = new SelectQuery("SELECT * FROM Win32_LogicalDisk");

            ManagementObjectSearcher s1 = new ManagementObjectSearcher(q1);

            foreach (ManagementObject service in s1.Get())
            {
                if (service["DeviceID"].ToString().Contains(deviceId))
                {
                    details.Model        = service["Model"].ToString();
                    details.Signature    = service["Signature"].ToString();
                    details.SerialNumber = service["SerialNumber"].ToString();
                    details.PNPDeviceID  = service["PNPDeviceID"].ToString();
                    break;
                }
            }

            ManagementObjectSearcher s2 = new ManagementObjectSearcher(q2);

            foreach (ManagementObject service in s2.Get())
            {
                if (service["DeviceID"].ToString().Contains(driveLetter.ToString()))
                {
                    details.VolumeSerialNumber = service["VolumeSerialNumber"].ToString();
                    break;
                }
            }

            return(details);
        }
Beispiel #2
0
        /// <summary>
        /// Get the details of drive with specified device ID.
        /// </summary>
        /// <param name="deviceId">Device ID. e.g. PHYSICALDRIVE0</param>
        /// <param name="driveLetter">
        /// A valid drive drive letter.
        /// This can be either uppercase or lowercase, 'a' to 'z'.
        /// </param>
        /// <returns>Drive Details</returns>
        private static DriveDetails GetDetails(string deviceId, char driveLetter)
        {
            DriveDetails details = new DriveDetails();

            SelectQuery q1 = new SelectQuery("SELECT * FROM Win32_DiskDrive");
            SelectQuery q2 = new SelectQuery("SELECT * FROM Win32_LogicalDisk");

            ManagementObjectSearcher s1 = new ManagementObjectSearcher(q1);

            foreach (ManagementObject service in s1.Get())
            {
                if (service["DeviceID"].ToString().Contains(deviceId))
                {
                    details.Model = service["Model"].ToString();
                    details.Signature = service["Signature"].ToString();
                    details.SerialNumber = service["SerialNumber"].ToString();
                    details.PNPDeviceID = service["PNPDeviceID"].ToString();
                    break;
                }
            }

            ManagementObjectSearcher s2 = new ManagementObjectSearcher(q2);

            foreach (ManagementObject service in s2.Get())
            {
                if (service["DeviceID"].ToString().Contains(driveLetter.ToString()))
                {
                    details.VolumeSerialNumber = service["VolumeSerialNumber"].ToString();
                    break;
                }
            }

            return details;
        }