Need help with accessing USB drives

Hey, I'm an experienced C++ programmer, but have never had to work with devices such as USB's.

For my job, I've been tasked with writing a program to detect when a USB devices is connected and if it's the correct device (a camera in this case) I can pull the files off of it and once that's done, delete the contents so it can be reused.

The problem is that I've never worked in a Windows specific environment and I don't know where to begin with accessing USB devices, much less using system interrupts to get whenever the device is connected.

The Microsoft website is much less than helpful, only serving to confuse me even more than I already am since most of what it talks about is intended for 10+ year certified Windows developers or something obnoxious, it seems.

Can anyone help and get me pointed in the right direction to learning how to get what I need to be done, done? I wouldn't think that something as simple as catching the USB system interrupt would be so difficult as to warrant a month of studying just to accomplish.

Thank you in advance.
are you writing the driver? Most of these devices look just like a disk drive (or a streaming signal, like, you know, a serial port used to be) to the computer, and you want to get a SDK or other library/interface to the device (free or not) that lets you find out if it is installed, plugged in, and so on. You shouldn't have to do the low level stuff unless you are writing the driver.

I did a (video) camera with a free sdk years ago, and talked to various others (gps, storage, dmu, and a couple others) and it was all done with free libraries or libraries that came with the device. I would start from that angle.

Last edited on
I'm not writing the driver. The manufacturer already uses the windows USB driver for it so when it's plugged in it shows up like an actual file system. My only question is how to grab the system interrupt that happens when it's plugged in and the drive letter it was assigned.
Last edited on
Just create a dummy window and process WM_DEVICECHANGE message. Do not forget to register that window using RegisterDeviceNotification() API. That's all.
MSDN - Registering for Device Notification
https://msdn.microsoft.com/en-us/library/aa363432(v=vs.85).aspx
Topic archived. No new replies allowed.