Herausfinden welche Geräte an einem USB-Hub hängen



  • Hallo,
    weiß jemand, wie man (am Besten über die Registry) herausfinden kann, welche USB-Geräte gerade an einem USB-Hub hängen?
    Über USB-View kann ich das schön in einer Baumstruktur herauslesen, aber ich muss das irgendwie über die Win-API herausfinden.

    Danke im Voraus!

    L. G.
    Steffo





  • Hm, danke. Eine Möglichkeit dies über die Registry herauszufinden gibt es nicht? 🙂

    L. G.
    Steffo



  • Warum muss es denn unbedingt die Registry sein ?! Da steht auch nicht alles drin, eine Liste der USB-Geräte die mal angeschlossen waren bekommst du, aber nichts aktuelles..



  • Hmm, also ich bekomme bei dem Code über 100 Fehlermeldungen.
    WDK habe ich installiert so wie die Header-Ordner verlinkt.
    Ich benutze Visual Studio C++ Express 2008. Weiß jemand weiter?!

    // Include Windows headers
    #include <windows.h>
    #include <stdio.h>
    #include <tchar.h>
    #include <strsafe.h>
    
    // Include WinUSB headers
    #include <winusb.h>
    #include <Usb100.h>
    #include <Setupapi.h>
    
    // Linked libraries
    #pragma comment (lib , "setupapi.lib" )
    #pragma comment (lib , "winusb.lib" )
    
    int main()
    {
    	printf("Hallo Welt!\n");
    	getchar();
    	return 0;
    }
    
    1>------ Erstellen gestartet: Projekt: Test, Konfiguration: Debug Win32 ------
    1>Kompilieren...
    1>main.cpp
    1>c:\program files\microsoft visual studio 9.0\vc\include\excpt.h(60) : error C2065: '_In_': nichtdeklarierter Bezeichner
    1>c:\program files\microsoft visual studio 9.0\vc\include\excpt.h(60) : error C2144: Syntaxfehler: '_EXCEPTION_RECORD' sollte auf ')' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\excpt.h(60) : error C2448: '_except_handler': Funktionsstil-Initialisierung scheint eine Funktionsdefinition zu sein
    1>c:\program files\microsoft visual studio 9.0\vc\include\excpt.h(61) : error C2144: Syntaxfehler: 'void' sollte auf ';' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\excpt.h(62) : error C2144: Syntaxfehler: '_CONTEXT' sollte auf ';' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\excpt.h(63) : error C2144: Syntaxfehler: 'void' sollte auf ';' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\excpt.h(64) : error C2059: Syntaxfehler: ')'
    1>c:\winddk\7600.16385.1\inc\api\windef.h(49) : error C2143: Syntaxfehler: Es fehlt ';' vor '*'
    1>c:\winddk\7600.16385.1\inc\api\windef.h(51) : error C2143: Syntaxfehler: Es fehlt ';' vor '*'
    1>c:\winddk\7600.16385.1\inc\api\windef.h(53) : error C2143: Syntaxfehler: Es fehlt ';' vor '*'
    1>c:\winddk\7600.16385.1\inc\api\windef.h(157) : error C2143: Syntaxfehler: Es fehlt ';' vor '*'
    1>c:\winddk\7600.16385.1\inc\api\windef.h(158) : error C2143: Syntaxfehler: Es fehlt ';' vor '*'
    1>c:\winddk\7600.16385.1\inc\api\windef.h(159) : error C2143: Syntaxfehler: Es fehlt ';' vor '*'
    1>c:\winddk\7600.16385.1\inc\api\windef.h(160) : error C2143: Syntaxfehler: Es fehlt ';' vor '*'
    1>c:\winddk\7600.16385.1\inc\api\windef.h(161) : error C2143: Syntaxfehler: Es fehlt ';' vor '*'
    1>c:\winddk\7600.16385.1\inc\api\windef.h(164) : error C2143: Syntaxfehler: Es fehlt ';' vor '*'
    1>c:\winddk\7600.16385.1\inc\api\windef.h(165) : error C2143: Syntaxfehler: Es fehlt ';' vor '*'
    1>c:\winddk\7600.16385.1\inc\api\windef.h(167) : error C2143: Syntaxfehler: Es fehlt ';' vor '*'
    1>c:\winddk\7600.16385.1\inc\api\windef.h(168) : error C2143: Syntaxfehler: Es fehlt ';' vor '*'
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(94) : error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(94) : error C2065: '_In_': nichtdeklarierter Bezeichner
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(94) : error C2144: Syntaxfehler: 'int' sollte auf ')' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(94) : error C2448: '_isctype': Funktionsstil-Initialisierung scheint eine Funktionsdefinition zu sein
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(94) : error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(94) : error C2059: Syntaxfehler: ')'
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(95) : error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(95) : error C2065: '_In_': nichtdeklarierter Bezeichner
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(95) : error C2144: Syntaxfehler: 'int' sollte auf ')' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(95) : error C2448: '_isctype_l': Funktionsstil-Initialisierung scheint eine Funktionsdefinition zu sein
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(95) : error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(95) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner '_locale_t'
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(95) : error C2059: Syntaxfehler: ')'
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(96) : error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(96) : error C2065: '_In_': nichtdeklarierter Bezeichner
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(96) : error C2144: Syntaxfehler: 'int' sollte auf ')' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(96) : error C2448: 'isalpha': Funktionsstil-Initialisierung scheint eine Funktionsdefinition zu sein
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(96) : error C2059: Syntaxfehler: ')'
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(97) : error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(97) : error C2065: '_In_': nichtdeklarierter Bezeichner
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(97) : error C2144: Syntaxfehler: 'int' sollte auf ')' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(97) : error C2448: '_isalpha_l': Funktionsstil-Initialisierung scheint eine Funktionsdefinition zu sein
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(97) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner '_locale_t'
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(97) : error C2059: Syntaxfehler: ')'
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(98) : error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(98) : error C2065: '_In_': nichtdeklarierter Bezeichner
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(98) : error C2144: Syntaxfehler: 'int' sollte auf ')' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(98) : error C2448: 'isupper': Funktionsstil-Initialisierung scheint eine Funktionsdefinition zu sein
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(98) : error C2059: Syntaxfehler: ')'
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(99) : error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(99) : error C2065: '_In_': nichtdeklarierter Bezeichner
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(99) : error C2144: Syntaxfehler: 'int' sollte auf ')' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(99) : error C2448: '_isupper_l': Funktionsstil-Initialisierung scheint eine Funktionsdefinition zu sein
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(99) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner '_locale_t'
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(99) : error C2059: Syntaxfehler: ')'
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(100) : error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(100) : error C2065: '_In_': nichtdeklarierter Bezeichner
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(100) : error C2144: Syntaxfehler: 'int' sollte auf ')' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(100) : error C2448: 'islower': Funktionsstil-Initialisierung scheint eine Funktionsdefinition zu sein
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(100) : error C2059: Syntaxfehler: ')'
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(101) : error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(101) : error C2065: '_In_': nichtdeklarierter Bezeichner
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(101) : error C2144: Syntaxfehler: 'int' sollte auf ')' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(101) : error C2448: '_islower_l': Funktionsstil-Initialisierung scheint eine Funktionsdefinition zu sein
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(101) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner '_locale_t'
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(101) : error C2059: Syntaxfehler: ')'
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(102) : error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(102) : error C2065: '_In_': nichtdeklarierter Bezeichner
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(102) : error C2144: Syntaxfehler: 'int' sollte auf ')' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(102) : error C2448: 'isdigit': Funktionsstil-Initialisierung scheint eine Funktionsdefinition zu sein
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(102) : error C2059: Syntaxfehler: ')'
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(103) : error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(103) : error C2065: '_In_': nichtdeklarierter Bezeichner
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(103) : error C2144: Syntaxfehler: 'int' sollte auf ')' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(103) : error C2448: '_isdigit_l': Funktionsstil-Initialisierung scheint eine Funktionsdefinition zu sein
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(103) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner '_locale_t'
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(103) : error C2059: Syntaxfehler: ')'
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(104) : error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(104) : error C2065: '_In_': nichtdeklarierter Bezeichner
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(104) : error C2144: Syntaxfehler: 'int' sollte auf ')' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(104) : error C2448: 'isxdigit': Funktionsstil-Initialisierung scheint eine Funktionsdefinition zu sein
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(104) : error C2059: Syntaxfehler: ')'
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(105) : error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(105) : error C2065: '_In_': nichtdeklarierter Bezeichner
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(105) : error C2144: Syntaxfehler: 'int' sollte auf ')' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(105) : error C2448: '_isxdigit_l': Funktionsstil-Initialisierung scheint eine Funktionsdefinition zu sein
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(105) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner '_locale_t'
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(105) : error C2059: Syntaxfehler: ')'
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(106) : error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(106) : error C2065: '_In_': nichtdeklarierter Bezeichner
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(106) : error C2144: Syntaxfehler: 'int' sollte auf ')' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(106) : error C2448: 'isspace': Funktionsstil-Initialisierung scheint eine Funktionsdefinition zu sein
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(106) : error C2059: Syntaxfehler: ')'
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(107) : error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(107) : error C2065: '_In_': nichtdeklarierter Bezeichner
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(107) : error C2144: Syntaxfehler: 'int' sollte auf ')' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(107) : error C2448: '_isspace_l': Funktionsstil-Initialisierung scheint eine Funktionsdefinition zu sein
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(107) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner '_locale_t'
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(107) : error C2059: Syntaxfehler: ')'
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(108) : error C2144: Syntaxfehler: 'int' sollte auf ';' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(108) : error C2065: '_In_': nichtdeklarierter Bezeichner
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(108) : error C2144: Syntaxfehler: 'int' sollte auf ')' folgen
    1>c:\program files\microsoft visual studio 9.0\vc\include\ctype.h(108) : fatal error C1003: Mehr als 100 Fehler gefunden; Kompilierung wird abgebrochen.
    1>Das Buildprotokoll wurde unter "file://c:\Documents and Settings\stdi3650\My Documents\Visual Studio 2008\Projects\Test\Test\Debug\BuildLog.htm" gespeichert.
    1>Test - 102 Fehler, 0 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
    

    L. G.
    Steffo



  • Hallo,

    vielleicht kannst du das Problem mit den Informationen von hier:

    http://social.msdn.microsoft.com/Forums/en-AU/vcgeneral/thread/522a7180-c6aa-439f-963f-0ed10d49a239

    lösen.

    MfG,

    Probe-Nutzer



  • Jochen Kalmbach schrieb:

    SetupDi*
    Schau mal hier:
    http://msdn.microsoft.com/en-us/library/windows/hardware/ff540174

    Mal eine Frage: Ich denke, ich kann das Problem genauso über libusb lösen anstatt über WinUSB.
    Was war deine genaue Idee dahinter? Soll ich über die verschiedenen Interfaces iterieren und dadurch genauere Informationen über die Geräte herausfinden?

    L. G.
    Steffo



  • Probe-Nutzer schrieb:

    Hallo,

    vielleicht kannst du das Problem mit den Informationen von hier:

    http://social.msdn.microsoft.com/Forums/en-AU/vcgeneral/thread/522a7180-c6aa-439f-963f-0ed10d49a239

    lösen.

    MfG,

    Probe-Nutzer

    Hey cool, thx!!! 😃



  • Die Fehlermeldungen hören nicht auf. 😞
    Das ist ein Beispiel von http://msdn.microsoft.com/en-us/library/windows/hardware/ff540174

    // Include Windows headers
    #include <windows.h>
    #include <stdio.h>
    #include <tchar.h>
    #include <strsafe.h>
    
    // Include WinUSB headers
    #include <winusb.h>
    #include <Usb100.h>
    #include <Setupapi.h>
    
    #define BOOL int
    #define TRUE 1
    #define FALSE 0
    
    // Linked libraries
    #pragma comment (lib , "setupapi.lib" )
    #pragma comment (lib , "winusb.lib" )
    //               f18a0e88-c30c-11d0-8815-00a0c906bed8
    // Constant for {D696BFEB-1734-417d-8A04-86D01071C512}
    static const GUID OSR_DEVICE_INTERFACE = 
    { 0xf18a0e88, 0xc30c, 0x11d0, { 0x88, 0x15, 0x00, 0xa0, 0xc9, 0x06, 0xbe, 0xd8 } };
    
    int main()
    {
    	printf("Hallo Welt!\n");
    
    	//PHANDLE hDeviceHandle;
    	//GetDeviceHandle(OSR_DEVICE_INTERFACE, &hDeviceHandle);
    
    	getchar();
    	return 0;
    }
    
    BOOL GetDeviceHandle (GUID guidDeviceInterface, PHANDLE hDeviceHandle)
    {
        if (guidDeviceInterface==GUID_NULL)
        {
            return FALSE;
        }
    
        BOOL bResult = TRUE;
        HDEVINFO hDeviceInfo;
        SP_DEVINFO_DATA DeviceInfoData;
    
        SP_DEVICE_INTERFACE_DATA deviceInterfaceData;
        PSP_DEVICE_INTERFACE_DETAIL_DATA pInterfaceDetailData = NULL;
    
        ULONG requiredLength=0;
    
        LPTSTR lpDevicePath = NULL;
    
        DWORD index = 0;
    
        // Get information about all the installed devices for the specified
        // device interface class.
        hDeviceInfo = SetupDiGetClassDevs( 
            &guidDeviceInterface,
            NULL, 
            NULL,
            DIGCF_PRESENT | DIGCF_DEVICEINTERFACE);
    
        if (hDeviceInfo == INVALID_HANDLE_VALUE) 
        { 
            // ERROR 
            printf("Error SetupDiGetClassDevs: %d.\n", GetLastError());
            goto done;
        }
    
        //Enumerate all the device interfaces in the device information set.
        DeviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA);
    
        for (index = 0; SetupDiEnumDeviceInfo(hDeviceInfo, index, &DeviceInfoData); index++)
        {
            //Reset for this iteration
            if (lpDevicePath)
            {
                LocalFree(lpDevicePath);
            }
            if (pInterfaceDetailData)
            {
                LocalFree(pInterfaceDetailData);
            }
    
            deviceInterfaceData.cbSize = sizeof(SP_INTERFACE_DEVICE_DATA);
    
            //Get information about the device interface.
            bResult = SetupDiEnumDeviceInterfaces( 
               hDeviceInfo,
               &DeviceInfoData,
               &guidDeviceInterface,
               0, 
               &deviceInterfaceData);
    
            // Check if last item
            if (GetLastError () == ERROR_NO_MORE_ITEMS)
            {
                break;
            }
    
            //Check for some other error
            if (!bResult) 
            {
                printf("Error SetupDiEnumDeviceInterfaces: %d.\n", GetLastError());
                goto done;
            }
    
            //Interface data is returned in SP_DEVICE_INTERFACE_DETAIL_DATA
            //which we need to allocate, so we have to call this function twice.
            //First to get the size so that we know how much to allocate
            //Second, the actual call with the allocated buffer
    
            bResult = SetupDiGetDeviceInterfaceDetail(
                hDeviceInfo,
                &deviceInterfaceData,
                NULL, 0,
                &requiredLength,
                NULL);
    
            //Check for some other error
            if (!bResult) 
            {
                if ((ERROR_INSUFFICIENT_BUFFER==GetLastError()) && (requiredLength>0))
                {
                    //we got the size, allocate buffer
                    pInterfaceDetailData = (PSP_DEVICE_INTERFACE_DETAIL_DATA)LocalAlloc(LPTR, requiredLength);
    
                    if (!pInterfaceDetailData) 
                    { 
                        // ERROR 
                        printf("Error allocating memory for the device detail buffer.\n");
                        goto done;
                    }
                }
                else
                {
                    printf("Error SetupDiEnumDeviceInterfaces: %d.\n", GetLastError());
                    goto done;
                }
            }
    
            //get the interface detailed data
            pInterfaceDetailData->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA);
    
            //Now call it with the correct size and allocated buffer
            bResult = SetupDiGetDeviceInterfaceDetail(
                    hDeviceInfo,
                    &deviceInterfaceData,
                    pInterfaceDetailData,
                    requiredLength,
                    NULL,
                    &DeviceInfoData);
    
            //Check for some other error
            if (!bResult) 
            {
                printf("Error SetupDiGetDeviceInterfaceDetail: %d.\n", GetLastError());
                goto done;
            }
    
            //copy device path
    
            size_t nLength = wcslen (pInterfaceDetailData->DevicePath) + 1;  
            lpDevicePath = (TCHAR *) LocalAlloc (LPTR, nLength * sizeof(TCHAR));
            StringCchCopy(lpDevicePath, nLength, pInterfaceDetailData->DevicePath);
            lpDevicePath[nLength-1] = 0;
    
            printf("Device path:  %s\n", lpDevicePath);
    
        }
    
        if (!lpDevicePath)
        {
            //Error.
            printf("Error %d.", GetLastError());
            goto done;
        }
    
        //Open the device
        *hDeviceHandle = CreateFile (
            lpDevicePath,
            GENERIC_READ | GENERIC_WRITE,
            FILE_SHARE_READ | FILE_SHARE_WRITE,
            NULL,
            OPEN_EXISTING,
            FILE_FLAG_OVERLAPPED,
            NULL);
    
        if (*hDeviceHandle == INVALID_HANDLE_VALUE)
        {
            //Error.
            printf("Error %d.", GetLastError());
            goto done;
        }
    
    done:
        LocalFree(lpDevicePath);
        LocalFree(pInterfaceDetailData);    
        bResult = SetupDiDestroyDeviceInfoList(hDeviceInfo);
    
        return bResult;
    }
    
    1>------ Erstellen gestartet: Projekt: Test, Konfiguration: Debug Win32 ------
    1>Kompilieren...
    1>main.c
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(37) : error C2088: '==': Ungültig für struct
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(42) : error C2143: Syntaxfehler: Es fehlt ';' vor 'Typ'
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(43) : error C2275: 'HDEVINFO': Ungültige Verwendung dieses Typs als Ausdruck
    1>        c:\winddk\7600.16385.1\inc\api\setupapi.h(697): Siehe Deklaration von 'HDEVINFO'
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(43) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'hDeviceInfo'
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(43) : error C2065: 'hDeviceInfo': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(44) : error C2275: 'SP_DEVINFO_DATA': Ungültige Verwendung dieses Typs als Ausdruck
    1>        c:\winddk\7600.16385.1\inc\api\setupapi.h(708): Siehe Deklaration von 'SP_DEVINFO_DATA'
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(44) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'DeviceInfoData'
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(44) : error C2065: 'DeviceInfoData': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(46) : error C2275: 'SP_DEVICE_INTERFACE_DATA': Ungültige Verwendung dieses Typs als Ausdruck
    1>        c:\winddk\7600.16385.1\inc\api\setupapi.h(720): Siehe Deklaration von 'SP_DEVICE_INTERFACE_DATA'
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(46) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'deviceInterfaceData'
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(46) : error C2065: 'deviceInterfaceData': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(47) : error C2275: 'PSP_DEVICE_INTERFACE_DETAIL_DATA': Ungültige Verwendung dieses Typs als Ausdruck
    1>        c:\winddk\7600.16385.1\inc\api\setupapi.h(751): Siehe Deklaration von 'PSP_DEVICE_INTERFACE_DETAIL_DATA'
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(47) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'pInterfaceDetailData'
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(47) : error C2065: 'pInterfaceDetailData': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(47) : warning C4047: '=': Anzahl der Dereferenzierungen bei 'int' und 'void *' unterschiedlich
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(49) : error C2275: 'ULONG': Ungültige Verwendung dieses Typs als Ausdruck
    1>        c:\winddk\7600.16385.1\inc\api\windef.h(48): Siehe Deklaration von 'ULONG'
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(49) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'requiredLength'
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(49) : error C2065: 'requiredLength': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(51) : error C2275: 'LPTSTR': Ungültige Verwendung dieses Typs als Ausdruck
    1>        c:\winddk\7600.16385.1\inc\api\winnt.h(446): Siehe Deklaration von 'LPTSTR'
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(51) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'lpDevicePath'
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(51) : error C2065: 'lpDevicePath': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(51) : warning C4047: '=': Anzahl der Dereferenzierungen bei 'int' und 'void *' unterschiedlich
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(53) : error C2275: 'DWORD': Ungültige Verwendung dieses Typs als Ausdruck
    1>        c:\winddk\7600.16385.1\inc\api\windef.h(152): Siehe Deklaration von 'DWORD'
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(53) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'index'
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(53) : error C2065: 'index': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(57) : error C2065: 'hDeviceInfo': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(61) : warning C4047: '=': Anzahl der Dereferenzierungen bei 'int' und 'HDEVINFO' unterschiedlich
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(63) : error C2065: 'hDeviceInfo': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(63) : warning C4047: '==': Anzahl der Dereferenzierungen bei 'int' und 'HANDLE' unterschiedlich
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(71) : error C2065: 'DeviceInfoData': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(71) : error C2224: Der linke Teil von '.cbSize' muss eine Struktur/Union sein
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(73) : error C2065: 'index': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(73) : error C2065: 'hDeviceInfo': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(73) : warning C4022: 'SetupDiEnumDeviceInfo': Zeigertyp für übergebenen Parameter 1 stimmt nicht mit dem deklarierten Zeigertyp überein
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(73) : error C2065: 'index': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(73) : error C2065: 'DeviceInfoData': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(73) : warning C4133: 'Funktion': Inkompatible Typen - von 'int *' zu 'PSP_DEVINFO_DATA'
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(73) : error C2065: 'index': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(76) : error C2065: 'lpDevicePath': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(78) : error C2065: 'lpDevicePath': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(78) : warning C4022: 'LocalFree': Zeigertyp für übergebenen Parameter 1 stimmt nicht mit dem deklarierten Zeigertyp überein
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(80) : error C2065: 'pInterfaceDetailData': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(82) : error C2065: 'pInterfaceDetailData': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(82) : warning C4022: 'LocalFree': Zeigertyp für übergebenen Parameter 1 stimmt nicht mit dem deklarierten Zeigertyp überein
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(85) : error C2065: 'deviceInterfaceData': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(85) : error C2224: Der linke Teil von '.cbSize' muss eine Struktur/Union sein
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(88) : error C2065: 'bResult': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(89) : error C2065: 'hDeviceInfo': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(89) : warning C4022: 'SetupDiEnumDeviceInterfaces': Zeigertyp für übergebenen Parameter 1 stimmt nicht mit dem deklarierten Zeigertyp überein
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(90) : error C2065: 'DeviceInfoData': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(90) : warning C4133: 'Funktion': Inkompatible Typen - von 'int *' zu 'PSP_DEVINFO_DATA'
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(93) : error C2065: 'deviceInterfaceData': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(93) : warning C4133: 'Funktion': Inkompatible Typen - von 'int *' zu 'PSP_DEVICE_INTERFACE_DATA'
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(102) : error C2065: 'bResult': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(113) : error C2065: 'bResult': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(114) : error C2065: 'hDeviceInfo': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(114) : warning C4022: 'SetupDiGetDeviceInterfaceDetailW': Zeigertyp für übergebenen Parameter 1 stimmt nicht mit dem deklarierten Zeigertyp überein
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(115) : error C2065: 'deviceInterfaceData': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(115) : warning C4133: 'Funktion': Inkompatible Typen - von 'int *' zu 'PSP_DEVICE_INTERFACE_DATA'
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(117) : error C2065: 'requiredLength': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(122) : error C2065: 'bResult': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(124) : error C2065: 'requiredLength': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(127) : error C2065: 'pInterfaceDetailData': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(127) : error C2065: 'requiredLength': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(127) : warning C4047: '=': Anzahl der Dereferenzierungen bei 'int' und 'PSP_DEVICE_INTERFACE_DETAIL_DATA' unterschiedlich
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(129) : error C2065: 'pInterfaceDetailData': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(144) : error C2065: 'pInterfaceDetailData': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(144) : error C2223: Der linke Teil von '->cbSize' muss auf eine Struktur/Union zeigen
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(147) : error C2065: 'bResult': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(148) : error C2065: 'hDeviceInfo': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(148) : warning C4022: 'SetupDiGetDeviceInterfaceDetailW': Zeigertyp für übergebenen Parameter 1 stimmt nicht mit dem deklarierten Zeigertyp überein
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(149) : error C2065: 'deviceInterfaceData': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(149) : warning C4133: 'Funktion': Inkompatible Typen - von 'int *' zu 'PSP_DEVICE_INTERFACE_DATA'
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(150) : error C2065: 'pInterfaceDetailData': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(150) : warning C4047: 'Funktion': Anzahl der Dereferenzierungen bei 'PSP_DEVICE_INTERFACE_DETAIL_DATA_W' und 'int' unterschiedlich
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(150) : warning C4024: 'SetupDiGetDeviceInterfaceDetailW': Unterschiedliche Typen für formalen und übergebenen Parameter 3
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(151) : error C2065: 'requiredLength': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(153) : error C2065: 'DeviceInfoData': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(153) : warning C4133: 'Funktion': Inkompatible Typen - von 'int *' zu 'PSP_DEVINFO_DATA'
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(156) : error C2065: 'bResult': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(164) : error C2275: 'size_t': Ungültige Verwendung dieses Typs als Ausdruck
    1>        c:\winddk\7600.16385.1\inc\crt\crtdefs.h(462): Siehe Deklaration von 'size_t'
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(164) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'nLength'
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(164) : error C2065: 'nLength': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(164) : error C2065: 'pInterfaceDetailData': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(164) : error C2223: Der linke Teil von '->DevicePath' muss auf eine Struktur/Union zeigen
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(164) : error C2198: "wcslen": Nicht genügend Argumente für Aufruf.
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(165) : error C2065: 'lpDevicePath': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(165) : error C2065: 'nLength': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(165) : warning C4047: '=': Anzahl der Dereferenzierungen bei 'int' und 'TCHAR *' unterschiedlich
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(166) : error C2065: 'lpDevicePath': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(166) : warning C4047: 'Funktion': Anzahl der Dereferenzierungen bei 'STRSAFE_LPWSTR' und 'int' unterschiedlich
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(166) : warning C4024: 'StringCchCopyW': Unterschiedliche Typen für formalen und übergebenen Parameter 1
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(166) : error C2065: 'nLength': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(166) : error C2065: 'pInterfaceDetailData': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(166) : error C2223: Der linke Teil von '->DevicePath' muss auf eine Struktur/Union zeigen
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(166) : error C2198: "StringCchCopyW": Nicht genügend Argumente für Aufruf.
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(167) : error C2065: 'lpDevicePath': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(167) : error C2065: 'nLength': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(167) : error C2109: Index erfordert ein Array oder einen Zeigertyp
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(169) : error C2065: 'lpDevicePath': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(173) : error C2065: 'lpDevicePath': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(182) : error C2065: 'lpDevicePath': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(182) : warning C4047: 'Funktion': Anzahl der Dereferenzierungen bei 'LPCWSTR' und 'int' unterschiedlich
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(182) : warning C4024: 'CreateFileW': Unterschiedliche Typen für formalen und übergebenen Parameter 1
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(200) : error C2065: 'lpDevicePath': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(200) : warning C4022: 'LocalFree': Zeigertyp für übergebenen Parameter 1 stimmt nicht mit dem deklarierten Zeigertyp überein
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(201) : error C2065: 'pInterfaceDetailData': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(201) : warning C4022: 'LocalFree': Zeigertyp für übergebenen Parameter 1 stimmt nicht mit dem deklarierten Zeigertyp überein
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(202) : error C2065: 'bResult': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(202) : error C2065: 'hDeviceInfo': nichtdeklarierter Bezeichner
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(202) : warning C4022: 'SetupDiDestroyDeviceInfoList': Zeigertyp für übergebenen Parameter 1 stimmt nicht mit dem deklarierten Zeigertyp überein
    1>c:\documents and settings\stdi3650\my documents\visual studio 2008\projects\test\test\main.c(204) : error C2065: 'bResult': nichtdeklarierter Bezeichner
    1>Das Buildprotokoll wurde unter "file://c:\Documents and Settings\stdi3650\My Documents\Visual Studio 2008\Projects\Test\Test\Debug\BuildLog.htm" gespeichert.
    1>Test - 85 Fehler, 27 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
    


  • Im Beispiel ist zu erkennen, dass es sich um Code für einen C++-Compiler handelt, irgendwo wird der Operator "==" dann überladen worden sein, um GUIDs mit "==" vergleichen zu können, da du main.c übersetzen lässt, wird der C-Compiler verwendet, der mit Überladungen nichts anfangen kann.

    MfG,

    Probe-Nutzer



  • Hm, ich habe aber bei den Projekteinstellungen unter Konfigurationseigenschaften/C/C++/Erweitert/Kompilierungsart "C" eingestellt.

    Was muss ich denn noch machen? 😕

    L. G.
    Steffo



  • c++ einstellen...



  • noop23 schrieb:

    c++ einstellen...

    YEEEAAAHH!!! 👍 👍 👍 🙂 🙂 🙂
    THX! 🙂



  • Ich finde es erstaunlich, dass Microsoftler bei Code snippets in der MSDN immer C++ als Programmiersprache angeben. 👎 Die zwei Dinge haben aber ungefähr so viel gemeinsam wie Mensch und Affe.



  • Hi,
    ich hab mein Problem übrigens mit libusbx gelöst. Dummerweise kann ich dort den String-Deskriptor eines USB-Devicies nicht auslesen. Es gibt immer einen Overflow, egal ob ich das mit C mache oder mit PyUSB mit libusbx als Backend.

    Aus der Win Api werd ich irgendwie nicht schlau.
    Weiß jemand, wie ich den String Deskriptor eines USB Device über die Win-API auslesen kann?
    Unter Linux ist das so einfach ("alles ist eine Datei") ...
    Oder ist das vielleicht auch einfacher realisierbar? Vielleicht über die Registry?

    Danke im Voraus!

    L. G.
    Steffo



  • Jochen Kalmbach schrieb:

    SetupDi*
    Schau mal hier:
    http://msdn.microsoft.com/en-us/library/windows/hardware/ff540174

    "The device interface class is identified by passing the device interface GUID that you defined in the INF file."

    Kann es sein, dass WinUSB von INF-Dateien und GUID abhängig ist? Würde das nicht gewisse Geräte ausschließen, die ohne INF-Datei installiert wurden (geht das überhaupt)?



  • Hier, guckt euch mal das hier an.

    Könnt alles rausnehmen, was ihr nicht braucht. Ist meine Klasse um USB-Geräte zu finden.
    Ich benutze nur WinAPI Funktionen. Und schreibt mal nen Feedback ^^

    http://dercoder.shafted.de/class/Drive.hpp


Anmelden zum Antworten