2010-02-14 6 views
1

안녕하세요 저는 약간의 문제가 있습니다. WMI를 사용하여 디스크에 대한 정보를 나열하려고합니다. WMI 코드 작성자의 코드를 실행하면 모든 것이 정상적으로 반환되며 원하는 정보를 얻을 수 있습니다. 내가 응용 프로그램에서 코드를 실행할 때 foreach 루프에서 throw되는 잘못된 클래스 오류가 발생합니다.WMI ManagementObjectSearcher 잘못된 클래스

작성한 코드와 WMI를 생성 한 코드는 본질적으로 동일하며 출력 만 다릅니다. 나는 무엇을 잘못하고있을 수 있습니다. 여기에 내가 작성한 코드가있다.

 public List<diskData> getDiskInfo() 
    { 
     List<diskData> dData = new List<diskData>(); 
     diskData mydisk = null; 
     try 
     { 
      ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM W32_LogicalDisk"); 
      foreach (ManagementObject item in searcher.Get()) 
      { 
       mydisk.name = Convert.ToString(item["Name"]); 
      } 
      return dData; 

     } 
     catch (Exception ex) 
     { 
      Console.WriteLine("This is the Message: " + ex.Message); 
      return dData; 
     } 

    } 

도움을 주셔서 감사합니다.

+0

"root \\ CIMV2"문제 일 수 있습니까? 그것이 틀림 없다고 확신합니까? –

+0

그 부분이 맞습니다. – Adeian

답변

1

당신의 WMI 쿼리의 Win32_LogicalDisk 클래스 이름이 W32_LogicalDisk으로 철자가 잘못되었습니다.

+2

내가 그렇게 할 때 나는 그것을 싫어. 내가 대중에서 그렇게 할 때 더욱 악합니다. :) 나를 위해 그것을 주셔서 감사합니다. 나는 나머지 시간 동안 은폐 아래에 숨어있을거야. – Adeian

관련 문제