Set DI_FLAGSEX_ALLOWEXCLUDEDDRVS flag when searching a driver for a PnP device
Modified: trunk/reactos/lib/newdev/newdev.c

Modified: trunk/reactos/lib/newdev/newdev.c
--- trunk/reactos/lib/newdev/newdev.c	2005-12-29 21:46:40 UTC (rev 20442)
+++ trunk/reactos/lib/newdev/newdev.c	2005-12-29 22:02:14 UTC (rev 20443)
@@ -739,9 +739,22 @@
 FindDriver(
            IN PDEVINSTDATA DevInstData)
 {
-
+    SP_DEVINSTALL_PARAMS DevInstallParams = {0,};
     BOOL ret;
 
+    DevInstallParams.cbSize = sizeof(SP_DEVINSTALL_PARAMS);
+    if (!SetupDiGetDeviceInstallParams(DevInstData->hDevInfo, &DevInstData->devInfoData, &DevInstallParams))
+    {
+        DPRINT("SetupDiGetDeviceInstallParams() failed with error 0x%lx\n", GetLastError());
+        return FALSE;
+    }
+    DevInstallParams.FlagsEx |= DI_FLAGSEX_ALLOWEXCLUDEDDRVS;
+    if (!SetupDiSetDeviceInstallParams(DevInstData->hDevInfo, &DevInstData->devInfoData, &DevInstallParams))
+    {
+        DPRINT("SetupDiSetDeviceInstallParams() failed with error 0x%lx\n", GetLastError());
+        return FALSE;
+    }
+
     ret = SetupDiBuildDriverInfoList(DevInstData->hDevInfo, &DevInstData->devInfoData, SPDIT_COMPATDRIVER);
     if (!ret)
     {