Rebase against ea9253d6d3c9bb60d98b0d917292fc0b4babb3dd.

This commit is contained in:
Zebediah Figura
2018-11-23 20:56:43 -06:00
parent d373c19f75
commit 0a0998b398
7 changed files with 81 additions and 340 deletions

View File

@@ -1,8 +1,8 @@
From 8a2cfa7797641f79216ab21b6e027f908879c2a2 Mon Sep 17 00:00:00 2001
From b1218833ac88f9706094427eefa09ee91aa97667 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 11 Feb 2016 03:20:33 +0100
Subject: setupapi: Handle the case that a full driver path is passed to
SetupDiGetClassDevs.
Subject: [PATCH] setupapi: Handle the case that a full driver path is passed
to SetupDiGetClassDevs.
---
dlls/setupapi/devinst.c | 26 ++++++++++++++++++++++++--
@@ -10,10 +10,10 @@ Subject: setupapi: Handle the case that a full driver path is passed to
2 files changed, 47 insertions(+), 2 deletions(-)
diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c
index 74a8e2b..4291c09 100644
index d9517bdcab..fa04816242 100644
--- a/dlls/setupapi/devinst.c
+++ b/dlls/setupapi/devinst.c
@@ -2340,8 +2340,30 @@ static void SETUPDI_EnumerateDevices(HDEVINFO DeviceInfoSet, const GUID *class,
@@ -2370,8 +2370,30 @@ static void SETUPDI_EnumerateDevices(HDEVINFO DeviceInfoSet, const GUID *class,
&enumStrKey);
if (!l)
{
@@ -47,10 +47,10 @@ index 74a8e2b..4291c09 100644
}
}
diff --git a/dlls/setupapi/tests/devinst.c b/dlls/setupapi/tests/devinst.c
index 9a8ecbc..d2b1500 100644
index c58e35f482..c9f0583825 100644
--- a/dlls/setupapi/tests/devinst.c
+++ b/dlls/setupapi/tests/devinst.c
@@ -1430,6 +1430,28 @@ static void test_device_interface_key(void)
@@ -1407,6 +1407,28 @@ static void test_device_interface_key(void)
SetupDiDestroyDeviceInfoList(set);
}
@@ -66,27 +66,27 @@ index 9a8ecbc..d2b1500 100644
+ ok(EnumDisplayDevicesA(NULL, 0, &disp, 0), "EnumDisplayDevices failed: %08x\n", GetLastError());
+
+ SetLastError(0xdeadbeef);
+ set = pSetupDiGetClassDevsA(&displayguid, disp.DeviceID, 0, 0);
+ set = SetupDiGetClassDevsA(&displayguid, disp.DeviceID, 0, 0);
+ ok(set != INVALID_HANDLE_VALUE, "SetupDiGetClassDevsA failed: %08x\n", GetLastError());
+
+ devinfo.cbSize = sizeof(devinfo);
+ ret = SetupDiEnumDeviceInfo(set, 0, &devinfo);
+ ok(ret, "SetupDiEnumDeviceInfo failed: %08x\n", GetLastError());
+
+ pSetupDiDestroyDeviceInfoList(set);
+ SetupDiDestroyDeviceInfoList(set);
+}
+
START_TEST(devinst)
{
HKEY hkey;
@@ -1467,6 +1489,7 @@ START_TEST(devinst)
testDeviceRegistryPropertyA();
testDeviceRegistryPropertyW();
@@ -1441,6 +1463,7 @@ START_TEST(devinst)
test_registry_property_a();
test_registry_property_w();
testSetupDiGetINFClassA();
+ testSetupDiGetClassDevsA();
test_devnode();
test_device_interface_key();
}
--
2.7.4
2.14.1