Il mio progetto si mette male!
Ho provato queto codice che dovrebbe riportarmi il numero di WaveIn Device installate sul sistema e delle informazione su di esse:
codice:
#!/perl
use strict;
use warnings;
use Win32::API;
use Win32::API::Struct;
use Data::Dumper;
Win32::API::Struct->typedef( "WAVEINCAPS", qw{
INT ManufacturerID;
INT ProductID;
LONG DriverVersion;
TCHAR ProductName[32];
LONG Formats;
INT Channels;
INT Reserved;
} ) or die "Typedef error $!\n";
#Win32::API->Import( winmm => q{LRESULT waveInGetNumDevs()} );
Win32::API->Import("winmm", "int waveInGetNumDevs()");
Win32::API->Import( winmm => q{LRESULT waveInGetDevCaps(UINT_PTR DeviceID, LPWAVEINCAPS pwic, UINT cbwic)} );
my $devices = waveInGetNumDevs();
my $caps = Win32::API::Struct->new("WAVEINCAPS"); # Dim Caps As WaveInCaps
print "Devices: $devices\n\n";
my $result;
for (0 .. ($devices - 1) ) {
$result = waveInGetDevCaps($_, $caps, Win32::API::Struct->sizeof('WAVEINCAPS'));
}
print Dumper $caps;
Funziona solo: my $devices = waveInGetNumDevs();
ma print Dumper $caps; restituisce tutte variabili null
che fare?