https://git.reactos.org/?p=reactos.git;a=commitdiff;h=9e947e2b2be05d01590f4…
commit 9e947e2b2be05d01590f42741413b8b90f911071
Author: Eric Kohl <eric.kohl(a)reactos.org>
AuthorDate: Fri Apr 16 23:45:08 2021 +0200
Commit: Eric Kohl <eric.kohl(a)reactos.org>
CommitDate: Fri Apr 16 23:45:08 2021 +0200
[DEVMGR] Get rid of the unknown device class hack
Treat the unknown device class like any other device class.
CORE-17527
---
dll/win32/devmgr/devmgmt/DeviceView.cpp | 39 +++++----------------------------
1 file changed, 5 insertions(+), 34 deletions(-)
diff --git a/dll/win32/devmgr/devmgmt/DeviceView.cpp
b/dll/win32/devmgr/devmgmt/DeviceView.cpp
index 1bb0fab7dee..a0906e1657a 100644
--- a/dll/win32/devmgr/devmgmt/DeviceView.cpp
+++ b/dll/win32/devmgr/devmgmt/DeviceView.cpp
@@ -351,23 +351,11 @@ CDeviceView::GetNextClass(
if (cr != CR_SUCCESS)
return false;
- // Check if this is the unknown class
- if (IsEqualGUID(*ClassGuid, GUID_DEVCLASS_UNKNOWN))
- {
- // Get device info for all devices
- *hDevInfo = SetupDiGetClassDevsW(NULL,
- NULL,
- NULL,
- DIGCF_ALLCLASSES);
- }
- else
- {
- // We only want the devices for this class
- *hDevInfo = SetupDiGetClassDevsW(ClassGuid,
- NULL,
- NULL,
- DIGCF_PRESENT);
- }
+ // We only want the devices for this class
+ *hDevInfo = SetupDiGetClassDevsW(ClassGuid,
+ NULL,
+ NULL,
+ DIGCF_PRESENT);
return (hDevInfo != INVALID_HANDLE_VALUE);
}
@@ -449,7 +437,6 @@ CDeviceView::ListDevicesByType()
bClassSuccess = GetNextClass(ClassIndex, &ClassGuid, &hDevInfo);
if (bClassSuccess)
{
- bool bClassUnknown = false;
bool AddedParent = false;
INT DeviceIndex = 0;
bool MoreItems = false;
@@ -462,10 +449,6 @@ CDeviceView::ListDevicesByType()
continue;
}
- // Set a flag is this is the (special case) unknown class
- if (IsEqualGUID(ClassGuid, GUID_DEVCLASS_UNKNOWN))
- bClassUnknown = true;
-
// Check if this is a hidden class
if (IsEqualGUID(ClassGuid, GUID_DEVCLASS_LEGACYDRIVER) ||
IsEqualGUID(ClassGuid, GUID_DEVCLASS_VOLUME))
@@ -494,18 +477,6 @@ CDeviceView::ListDevicesByType()
{
MoreItems = true;
- // The unknown class handle contains all devices on the system,
- // and we're just looking for the ones with a null GUID
- if (bClassUnknown)
- {
- if (IsEqualGUID(DeviceInfoData.ClassGuid, GUID_NULL) == FALSE)
- {
- // This is a known device, we aren't interested in it
- DeviceIndex++;
- continue;
- }
- }
-
// Get the cached device node
DeviceNode = GetDeviceNode(DeviceInfoData.DevInst);
if (DeviceNode == nullptr)