Thread Win32::API und LibUSB-Win32 (36 answers)
Opened by rosti at 2017-02-03 11:40

FIFO
 2017-02-04 17:43
#186031 #186031
User since
2005-06-01
469 Artikel
BenutzerIn

user image
2017-02-04T15:19:37 rosti
PS/Edit: Ich glaub ich habs jetzt kapiert. Mit untenstehenden Eigenschaften muss ich zunächst alle Structs erstellen entsprechend der usb.h

Sieht z.B. so aus:
Code (perl): (dl )
1
2
3
4
5
Win32::API::Struct->typedef('usb_device');
my $dev = Win32::API::Struct->new( 'usb_device' ); 

$dev->{filename} =  '';  # char filename[LIBUSB_PATH_MAX];
$dev->{devnum}   =  1;   # unsigned char devnum;


Die Frage ist noch, wie setze ich ein struct usb_device *next, *prev; in das Struct?


Ich habe nicht mit libusb gearbeitet. Offensichtlich sind die usb_devices in einer doppelt verketteten Liste. Ob Win32::API::Struct mit struct-pointers auf selbstdefinierte structs richtig umgeht, kann ich nicht sagen. Im Zweifelsfall kannst Du versuchen, die prev/next-Zeiger in Deinem struct-typedef als void* oder sogar als long zu deklarieren. Keine Ahnung, sorry :)

Good Luck,
FIFO

Edit:Achso, und Dein typedef für das usb_device-struct ist natürlich unvollständig (nur ein Name, keine Members deklariert)
Last edited: 2017-02-04 17:46:16 +0100 (CET)
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? -- Brian Kernighan: "The Elements of Programming Style"

View full thread Win32::API und LibUSB-Win32