USB Gerät ansprechen

Hallo Ihr,

ich möchte gerne mit C++ ein USB Gerät ansprechen. Dazu will ich die DeviceIOControl function benutzen, die als ersten Parameter die GUID des Gerätes verlangt.

Meine Herausforderung ist es nun die GUID zu bekommen.

Dazu habe ich folgenden Code geschrieben, der (fast) funktioniert:

// [...]

DEFINE\_GUID(USB\_GUID, 0x36FC9E60, 0xC465, 0x11CF, 0x80, 0x56, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00);

// [...]

GUID getUSBGUID(void)
{
 GUID guid = USB\_GUID;
 HDEVINFO hDevInfo;
 SP\_DEVINFO\_DATA did;
 SP\_DEVICE\_INTERFACE\_DATA dintd;
 SP\_DEVICE\_INTERFACE\_DETAIL\_DATA dintdd;
 DWORD size = 0;
 LPTSTR devClass;
 LPTSTR devClassGUID;

 hDevInfo = SetupDiGetClassDevs(&USB\_GUID,NULL,NULL,DIGCF\_ALLCLASSES | DIGCF\_PRESENT | DIGCF\_INTERFACEDEVICE);

 if (hDevInfo == INVALID\_HANDLE\_VALUE)
 wcout 

Mein Problem ist, dass "SetupDiEnumDeviceInterfaces" immer "false" ist und ich kann mir nicht erklären warum...?

Bin für jeden Tipp dankbar.

Viele Grüße,
Ai