Skip to content

Commit 627d329

Browse files
committed
Update
1 parent 202b025 commit 627d329

File tree

4 files changed

+19
-8
lines changed

4 files changed

+19
-8
lines changed

lib/FusionInventory/Agent/Task/Inventory/Generic/Screen.pm

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use parent 'FusionInventory::Agent::Task::Inventory::Module';
88
use English qw(-no_match_vars);
99
use MIME::Base64;
1010
use UNIVERSAL::require;
11-
11+
use Data::Dumper;
1212
use File::Find;
1313
use FusionInventory::Agent::Tools;
1414
use FusionInventory::Agent::Tools::Screen;
@@ -148,10 +148,15 @@ sub _getScreensFromWindows {
148148

149149
foreach my $screen (@screens) {
150150
next unless $screen->{id};
151-
$screen->{edid} = getRegistryValue(
152-
path => "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Enum/$screen->{id}/Device Parameters/EDID",
151+
# $screen->{id} =~ s/\\/\//g;
152+
$screen->{edid} = getNewRegistryValues(
153+
root => "HKEY_LOCAL_MACHINE",
154+
path => "SYSTEM/CurrentControlSet/Enum/$screen->{id}/Device Parameters",
155+
keyName => "EDID",
153156
logger => $params{logger}
154157
);
158+
print("SYSTEM/CurrentControlSet/Enum/$screen->{id}/Device Parameters/EDID");
159+
print(Dumper($screen->{edid}));
155160
$screen->{edid} =~ s/^\s+$// if $screen->{edid};
156161
delete $screen->{id};
157162
$screen->{edid} or delete $screen->{edid};

lib/FusionInventory/Agent/Task/Inventory/Win32/AntiVirus.pm

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,6 @@ sub _setNortonInfos {
461461
sub _getSoftwareRegistryKeys {
462462
my ($base, $values, $callback) = @_;
463463

464-
my %reg;
465464
if (is64bit()) {
466465
my %reg = getNewRegistryValues(
467466
root => "HKEY_LOCAL_MACHINE",

lib/FusionInventory/Agent/Task/Inventory/Win32/License.pm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ sub _scanWmiSoftwareLicensingProducts {
124124
}
125125

126126
sub _scanOfficeLicences {
127-
my ($key) = @_;
127+
my (%key) = @_;
128128

129129
# registry data structure:
130130
# SOFTWARE/Microsoft/Office
@@ -135,7 +135,7 @@ sub _scanOfficeLicences {
135135
# └── ProductID:value
136136
# └── ...
137137

138-
foreach my $versionKey (keys %{$key}) {
138+
foreach my $versionKey (keys %key) {
139139
my $registrationKey = $key{$versionKey}->{Registration};
140140
next unless $registrationKey;
141141

lib/FusionInventory/Agent/Tools/Win32.pm

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ sub getNewRegistryValues {
311311
if ($keyType == REG_DWORD) {
312312
$newKeyValue = unpack("L", $keyValue);
313313
} else {
314-
$keyValue =~ s/\x0$//;
314+
$keyValue =~ s/\x00$//;
315315
$newKeyValue = decode("UTF-16LE", $keyValue);
316316
# $newKeyValue =~ s/^((?:..)*)\0\0//s;
317317
}
@@ -324,10 +324,17 @@ sub getNewRegistryValues {
324324
sub getNewRegistryValue {
325325
my (%params) = @_;
326326

327+
my $swKey;
327328
my $keyType;
328329
my $keyValue;
330+
my $path = $params{path};
331+
my $root = _getNewRegistryRoot(
332+
root => $params{root}
333+
);
329334

330-
RegQueryValueExW($params{swKey}, encode("UTF-16LE", $params{keyName}), [], $keyType, $keyValue, 100);
335+
RegOpenKeyExW($root, encode("UTF-16LE", $path), 0, KEY_READ, $swKey);
336+
RegQueryValueExW($swKey, encode("UTF-16LE", $params{keyName}), [], $keyType, $keyValue, 100);
337+
return $keyValue;
331338

332339
$keyValue =~ s/^((?:..)*)\0\0//s;
333340
if ($keyType == REG_DWORD) {

0 commit comments

Comments
 (0)