>Thanks Herman, your code is great. Portions of it are exactly what I was working on. However, I cannot use the HIDd api because the USB device I am working with is NOT a true human interface device standard and doesn't respond to the HIDd api calls, but can be accessed directly via USB. I started out a month ago using the HIDd api until I found out the device does not list itself as HID device, but only a USB Printer which can be written to and read from (it contains a card reader). I tested your code using either the PRINTER GUID or the HARD DRIVE GUID and neither return any information (except if I pass it a HID Guid then it does return information on my MSFT Keyboard which is indeed a true HID device)
First, I'm sorry that I didn't try your code under WinXP (that's why all results was ERROR <g>).
Well, I think you cannot use SetupDiEnumDeviceInterface(). AFAIK, this API will success only if the GUID is CLASSES INTERFACE. It fails if the GUID is for other CLASSES. But I'm not exactly sure because I only tried for my Logitech Rumble Pad and Logitech Optical Mouse.
Herman