Thanks Herman, I sent you one more code example to test to verify this for me. I am seeing those same results you mention in WinXP. I can pull the data from the registry (where the GUID is irrelant using SetupDiGetDeviceRegistryProperty()) but not using SetupDiEnumDeviceInterfaces() in WinXP - only for HID Devices.
I REALLY was hoping that was not the case :0(
>>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.
.·*´¨)
.·`TCH
(..·*
010000110101001101101000011000010111001001110000010011110111001001000010011101010111001101110100
"When the debate is lost, slander becomes the tool of the loser." - Socrates
Vita contingit, Vive cum eo. (Life Happens, Live With it.)
"Life is not measured by the number of breaths we take, but by the moments that take our breath away." -- author unknown
"De omnibus dubitandum"