1
votes

I'd like to use digital cameras in my application (running on Windows, written in C++) and I came across two libraries that did that - WIA (Windows Image Acquisition) and WPD (Windows Portable Devices). WIA supports digital cameras only for versions of Windows up to XP and for Vista and 7 one should use WPD. The problem is that I ran WPD's sample project from Windows SDK which failed to recognize all devices I tried (But WIA did on a Win XP machine) apart from a flash memory and an mp3 player. I don't think the other devices were too old to have a WPD driver, so my question is: What devices does WPD support? Am I mistaken or WPD does not work with a broad range of devices? Or maybe there is another library I could use for taking pictures (maybe a video, but that's not as important)?

I hope someone can clear things up. Thanks in advance!

2

2 Answers

0
votes

You will need to use DirectShow to work with your webcams on Vista/Win 7. Logitech and the like don't supply WPD drivers. Perhaps they will for Windows 8.

You can also use the MCI interface if you want to go old school, which nowadays is just a compatibility layer on top of DirectShow. Google for "WM_CAP_START" or "WM_CAP_GRAB_FRAME" for some examples.

0
votes

Don't have a list for WPD, but here's a:

List of Supported Windows Image Acquisition (WIA) Scanners and Cameras http://support.microsoft.com/kb/264598