Also ich kann die Werte mit folgendem Codestück auslesen:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
my $Class = $Registry->{"LMachine/SYSTEM/ControlSet001/Control/Class"} || die "Can't read LMachine/SYSTEM/ControlSet001/Control/Class key: $^E\n";
my $NetKey;
foreach my $SubKey (keys %{$Class}) {
my ( $value, $type )= $Class->{$SubKey}->{"/Class"};
if (defined $value && $value eq 'Net') {
$NetKey = $Class->{$SubKey};
last;
}
}
my $AdapterKey;
foreach my $SubKey (keys %{$NetKey}) {
my ( $value, $type )= $NetKey->{$SubKey}->{"/NetCfgInstanceId"};
if (defined $value && $value eq "{$adp_string}") {
$AdapterKey = $NetKey->{$SubKey};
last;
}
}
foreach my $SubKey (keys %{$AdapterKey->{'Ndi'}->{'params'}}) {
my $pKey = $SubKey;
chop $pKey;
my ( $value, $type )= $AdapterKey->{$pKey};
my ( $paramname, $ptype )= $AdapterKey->{'Ndi'}->{'params'}->{$SubKey}->{"/ParamDesc"};
print "$paramname: $value\n";
}
Die Parameter werden im Subschlüssel Ndi/params vermutlich aufgelistet. Die aktuellen Werte findet man dann vermutlich direkt unter dem Driver-Key. Wenn man das noch komfortabler machen will, kann man bei Enums noch den String statt dem Wert ausgeben.
Gruß
Thomas