When the user attaches a device (such as either a digital camera or
memory card) via USB that contains images, I want my application to be
launched (if it isn't already running), signaled that there are images
on said device, and given the list of said images.

AFAIK, this is precisely what the Autoplay feature of Windows is for. I
found this article:

http://msdn2.microsoft.com/en-us/magazine/cc301341.aspx

that says that the IDropTarget interface must be implemented. I later
found this:

http://msdn2.microsoft.com/en-us/library/bb776827.aspx

that says that the IHWEventHandler interface must be implemented. Which
is correct (or easier)?

Also not that my application is "faceless" meaning it has no GUI.

- Paul