2008-10-03 5 views
0

Bob King 아이디어에서 아이디어를 사용하여 다음과 같은 방법으로 작성했습니다.플로피 용 Win32_LogicalDisk가 실패했습니다

CD의 이동식 드라이브, 일반 드라이브에서 잘 작동합니다.

그러나 플로피의 경우 항상 "사용할 수 없음"을 반환합니다. 어떤 아이디어?

public static void TestFloppy(char driveLetter) { 
    using(var searcher = new ManagementObjectSearcher( @"SELECT * FROM Win32_LogicalDisk WHERE DeviceID = '" + driveLetter + ":'")) 
    using(var logicalDisks = searcher.Get()) { 
     foreach(ManagementObject logicalDisk in logicalDisks) { 
      var fs = logicalDisk[ "FreeSpace" ]; 
      Console.WriteLine("FreeSpace = " + (fs ?? "Not Available")); 
      logicalDisk.Dispose(); 
     } 
    } 
} 

답변

1

내가 더 나은 답변을하지 않는 것이 미안 해요,하지만 난 종류의 추구 같은 일을합니다 (ManagementObjectSearcher 사용) 할하는 데 사용하고 코드가 플로피 드라이브가 어떤 짓을 했을까 실행이 매번 발견/init 시퀀스.

내가 이런 말을 할
ManagementClass comp = new ManagementClass(scope, new ManagementPath(obj), null); 
comp.Get(); 
objs = comp.GetInstances(); 

는 WMI에서 알려진 버그하지만 불행히도 코드 주석이 어떤 힌트 :(

떠나 지마 :

그래서 대신 내가 다음과 interate로 변경

관련 문제