Set DI_FLAGSEX_ALLOWEXCLUDEDDRVS flag when searching a driver for a PnP device
authorHervé Poussineau <hpoussin@reactos.org>
Thu, 29 Dec 2005 22:02:14 +0000 (22:02 +0000)
committerHervé Poussineau <hpoussin@reactos.org>
Thu, 29 Dec 2005 22:02:14 +0000 (22:02 +0000)
svn path=/trunk/; revision=20443

reactos/lib/newdev/newdev.c

index 2352335..461c499 100644 (file)
@@ -739,9 +739,22 @@ static BOOL
 FindDriver(
            IN PDEVINSTDATA DevInstData)
 {
 FindDriver(
            IN PDEVINSTDATA DevInstData)
 {
-
+    SP_DEVINSTALL_PARAMS DevInstallParams = {0,};
     BOOL ret;
 
     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)
     {
     ret = SetupDiBuildDriverInfoList(DevInstData->hDevInfo, &DevInstData->devInfoData, SPDIT_COMPATDRIVER);
     if (!ret)
     {