没有介质时,设备报告加载的介质

时间:2016-05-26 01:40:49

标签: c# .net wmi disk drive

我有2个USB SD卡读卡器。一个人有一张卡,另一个没有。系统在“磁盘管理”控制面板中正确报告:

磁盘1可移动7.40 GB只读

  • (G :) 7.4 GB RAW

磁盘2可移动(E :)无媒体

  • (无体积信息)

但是,当我使用ManagementObjectSearcher搜索驱动器并查询其属性时,我得到:

\。\ PHYSICALDRIVE1:Media Loaded

\。\ PHYSICALDRIVE2:Media Loaded

这显然是不正确的,我想知道为什么。这是我正在使用的代码

using (ManagementObjectSearcher mos = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive WHERE InterfaceType=\"USB\"")) {
                    using (ManagementObjectCollection moc = mos.Get()) {

                        int i = 0;
                        foreach (ManagementObject mo in moc) {
                            using (mo) {
                                Console.WriteLine($"{mo.Properties["DeviceID"].Value as string}: Media Loaded? {mo.Properties["MediaLoaded"].Value}");
                            }
                            _operationFragment.ProgressValue = (i + 1 / moc.Count);
                            i++;
                        }
                    }

0 个答案:

没有答案