Alles funktioniert, bis auf die negativen Rückgabewerte bei einem Fehler bei der 64-bit Version.
Z.B. wird aus -7 (LIBUSB_ERROR_TIMEOUT) die 4294967289.
Hier ist z.B. die 'bulk transfer' Funktion wie ich sie verwende:
Code: Alles auswählen
Import "libusb-1.0.22_64.lib"
libusb_bulk_transfer.i(*uDeviceHandle, iEndpoint.a, *Data, iLength.i, *iTransferred, iTimeout.i)
EndImport
...
Protected iError.i
iError = libusb_bulk_transfer(*uDeviceHandle, iEndpoint, *Data, iLength, *iTransferred, iTimeout)
...
Ich habe den Fehler nur beim Anzeigen mit Str(iError), bei der Weitergabe des Fehlers an die DLL funktioniert auch alles. Ich kann damit die Fehlernamen usw. richtig auslesen.
Ich vermute ich mache etwas falsch, komme aber auf keine Idee was.
Peter