title: Alternatives to WPD/WIA on Windows XP?
body: <p><a href="http://www.microsoft.com/whdc/device/wpd/default.mspx" rel="nofollow noreferrer">WPD</a> does not work correctly on Windows XP (SP1 if that matters), even if <a href="http://msdn.microsoft.com/en-us/library/dd388998(v=VS.85).aspx" rel="nofollow noreferrer">Microsoft states it does</a>.</p>
  
  <p><b>Problem with WPD:</b></p>
  
  <p><code>IPortableDeviceManager.GetDevices</code> call does not find any devices on Win XP while it finds all connected cameras on Windows 7.</p>
  
  <p>A few other people had this same problem with WPD not working on XP, no solution: 
  <a href="http://us.generation-nt.com/wpd-can-not-work-windows-xp-help-30545902.html" rel="nofollow noreferrer">1</a>
  <a href="http://social.msdn.microsoft.com/Forums/en/windowssdk/thread/56459945-b757-45df-8c9f-4ebdbbb18a2c" rel="nofollow noreferrer">2</a></p>
  
  <p><b>I have decided to reimplement the functionality using WIA.</b></p>
  
  <p>Problem with WIA automation/WIA interfaces:</p>
  
  <ul>
  <li><code>WIA automation</code> offers only silly dialogs when interacting with the camera - I need to rather do this from code</li>
  <li>Programming against <code>WIA interfaces</code> is recommended to achieve lower level tasks with WIA. I have not found any samples how to use WIA interfaces from C# (also found some indication that this is not possible at all or at least <a href="http://bytes.com/topic/c-sharp/answers/261281-error-while-implementing-interface" rel="nofollow noreferrer">very hard to do</a>)</li>
  </ul>
  
  <p><b>Thus I have looked at WIA 2.0 (wrapper around wiaaut.dll):</b></p>
  
  <ul>
  <li>I am getting HRESULT 0x80210006 (WIA_ERROR_BUSY) for the first time and then HRESULT E_FAIL all the time on Win XP while on Windows 7 the same code works without a problem.</li>
  </ul>
  
  <hr>
  
  <p>I am getting out of options here... <b>Can you recommend an alternative to provide the following features for cameras connected to the computer that works on Windows XP?</b></p>
  
  <ul>
  <li>sends a notification that a picture was taken</li>
  <li>allows to download the recently taken picture from the camera</li>
  </ul>