告诉驱动器是分区还是单独的硬盘

我写我自己的文件search(为什么,因为我想/可以 – 不寻找一个现有的程序)。 我可以通过使用DriveInfo.GetDrives()方法在c#中获得所有驱动器。 理想情况下,我想只在并行磁盘驱动器上运行search,而在同一个驱动器上的分区依次运行它们。 这样我就不会因为GetDrives返回所有的分区或可移动媒体而导致驱动器不断的被寻找。 我知道我可以告诉types,如果它是一个USB驱动器与硬盘驱动器? 我怎样才能完成这个DriveInfo或者其他方法?

这个相关的问题显示如何找出使用WMI(在System.Management找到):

 var searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_DiskPartition"); foreach (var queryObj in searcher.Get()) { Console.WriteLine("-----------------------------------"); Console.WriteLine("Win32_DiskPartition instance"); Console.WriteLine("Name:{0}", (string)queryObj["Name"]); Console.WriteLine("Index:{0}", (uint)queryObj["Index"]); Console.WriteLine("DiskIndex:{0}", (uint)queryObj["DiskIndex"]); Console.WriteLine("BootPartition:{0}", (bool)queryObj["BootPartition"]); }