setupapi: Completely remove unregistered device interfaces.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2018-11-30 16:42:11 -06:00 committed by Alexandre Julliard
parent 3ff9874034
commit fa823476c6
2 changed files with 1 additions and 8 deletions

View File

@ -594,7 +594,7 @@ static void SETUPDI_RemoveDevice(struct device *device)
{
list_remove(&iface->entry);
if (device->phantom)
RegDeleteKeyW(iface->refstr_key, emptyW);
remove_device_iface(iface);
RegCloseKey(iface->refstr_key);
RegCloseKey(iface->class_key);
heap_free(iface->refstr);

View File

@ -670,12 +670,6 @@ static void test_device_iface_detail(void)
'C','u','r','r','e','n','t','C','o','n','t','r','o','l','S','e','t','\\',
'E','n','u','m','\\','R','o','o','t','\\',
'L','E','G','A','C','Y','_','B','O','G','U','S',0};
static const WCHAR devclass[] = {'S','y','s','t','e','m','\\',
'C','u','r','r','e','n','t','C','o','n','t','r','o','l','S','e','t','\\',
'C','o','n','t','r','o','l','\\','D','e','v','i','c','e','C','l','a','s','s','e','s','\\',
'{','6','a','5','5','b','5','a','4','-','3','f','6','5','-',
'1','1','d','b','-','b','7','0','4','-',
'0','0','1','1','9','5','5','c','2','b','d','b','}',0};
static const char path[] = "\\\\?\\root#legacy_bogus#0000#{6a55b5a4-3f65-11db-b704-0011955c2bdb}";
SP_DEVICE_INTERFACE_DETAIL_DATA_A *detail;
SP_DEVICE_INTERFACE_DATA iface = {sizeof(iface)};
@ -750,7 +744,6 @@ static void test_device_iface_detail(void)
/* remove once Wine is fixed */
devinst_RegDeleteTreeW(HKEY_LOCAL_MACHINE, bogus);
devinst_RegDeleteTreeW(HKEY_LOCAL_MACHINE, devclass);
}
static void test_device_key(void)