2013-04-02 53 views
2

我正在使用WIA連接到掃描儀。我列舉了設備信息,然後嘗試連接到設備。我不斷收到異常。從HRESULT嘗試使用wpf連接到掃描儀時出現錯誤代碼

異常:0x80210006

我打電話在WPF窗口後面的代碼的代碼。

 DeviceManager manager = new DeviceManagerClass(); 
     DeviceInfo device = null; 
     foreach (DeviceInfo deviceInfo in manager.DeviceInfos) 
     { 
      var ID = deviceInfo.DeviceID; 
      var props = deviceInfo.Properties ; 
      foreach (Property property in props) 
      { 
       var name = property.Name; 
       var descr = property.get_Value() as string; 
      } 
      var type = deviceInfo.Type; 
      if (type == WiaDeviceType.ScannerDeviceType) 
       device = deviceInfo; 
     } 
     if (device != null) 
       device.Connect(); 

我不明白爲什麼會發生這種情況。任何幫助,將不勝感激。

+0

您何時何地得到此錯誤../您是否還需要將DeviceManager完全限​​定爲WIA.DiviceManager? – MethodMan

+0

當它碰到device.Connect();聲明。 – Ammark

回答

2

HRESULT: 0x80210006WIA_ERROR_BUSY

WIA API Error Codes page

WIA_ERROR_BUSY  The WIA device is busy. 

Communicating with a WIA Device in Multiple Threads or Applications,它看起來像別的東西可訪問該設備:

如果一個線程目前擁有的設備鎖定(它正積極與通信該設備)並且另一個線程嘗試調用與該設備進行主動通信的方法時,該方法返回一個WIA_ERROR_BUSY錯誤。

+1

哦,我經歷了這個頁面,並認爲「這不告訴我什麼」。我從來沒有檢查過評論。謝謝一堆。 – Ammark

+0

是的,這是一個單線程應用程序,這只是我正在測試的東西,這樣我就不必使用TWAIN UI。現在它在我重新啓動我的掃描儀後正在工作。 – Ammark