mirror of
https://github.com/reactos/reactos.git
synced 2025-07-27 20:32:18 +00:00
[SETUPAPI] Correctly enumerate non-installed devices in SetupDiGetClassDevsExW
Always try to read the correct device GUID from registry, even if GUID filter is disabled. CORE-17527
This commit is contained in:
parent
f9df7af28a
commit
e044df8736
1 changed files with 24 additions and 27 deletions
|
@ -179,8 +179,6 @@ SETUP_CreateDevicesList(
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Retrieve GUID of this device */
|
/* Retrieve GUID of this device */
|
||||||
if (Class)
|
|
||||||
{
|
|
||||||
ClassGuidBufferSize = sizeof(ClassGuidBuffer);
|
ClassGuidBufferSize = sizeof(ClassGuidBuffer);
|
||||||
cr = CM_Get_DevNode_Registry_Property_ExW(dnDevInst,
|
cr = CM_Get_DevNode_Registry_Property_ExW(dnDevInst,
|
||||||
CM_DRP_CLASSGUID,
|
CM_DRP_CLASSGUID,
|
||||||
|
@ -205,12 +203,11 @@ SETUP_CreateDevicesList(
|
||||||
memcpy(&ClassGuid, &GUID_NULL, sizeof(GUID));
|
memcpy(&ClassGuid, &GUID_NULL, sizeof(GUID));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!IsEqualIID(&ClassGuid, Class))
|
if (Class && !IsEqualIID(&ClassGuid, Class))
|
||||||
{
|
{
|
||||||
TRACE("Skipping %S due to wrong class GUID\n", InstancePath);
|
TRACE("Skipping %S due to wrong class GUID\n", InstancePath);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/* Good! Create a device info element */
|
/* Good! Create a device info element */
|
||||||
if (!CreateDeviceInfo(list, InstancePath, &ClassGuid, &deviceInfo))
|
if (!CreateDeviceInfo(list, InstancePath, &ClassGuid, &deviceInfo))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue