sub _get_busses{ my $self = shift; my $usb_get_busses = Win32::API->new('libusb0', 'int usb_get_busses()'); my $bus_addr = $usb_get_busses->Call(); #print $bus_addr,"\n"; # Erstes usb_bus-struct einlesen und entpacken my $mem_usb_bus = ReadMemory($bus_addr, 532); my %usb_bus; @usb_bus{qw(next prev dirname devices location root_dev)} = unpack "VVZ512VVV", $mem_usb_bus; # In $usb_bus{devices} ist also jetzt die Adresse des ersten usb_device-structs im ersten usb_bus # ab hier ??? --------------------------------------------------- Win32::API::Struct->typedef( 'usb_bus', "INT_PTR","devices" # ??? ); my $usb_bus = Win32::API::Struct->new( 'usb_bus'); #$self->dd($usb_bus); # bis hier ??? -------------------------------------------------- $self->{usb_bus} = \%usb_bus; }