Author: hpoussin Date: Mon May 29 13:36:26 2006 New Revision: 22102
URL: http://svn.reactos.ru/svn/reactos?rev=22102&view=rev Log: Don't stop the search after the first driver found. Next ones may be better
Modified: trunk/reactos/dll/win32/newdev/newdev.c
Modified: trunk/reactos/dll/win32/newdev/newdev.c URL: http://svn.reactos.ru/svn/reactos/trunk/reactos/dll/win32/newdev/newdev.c?re... ============================================================================== --- trunk/reactos/dll/win32/newdev/newdev.c (original) +++ trunk/reactos/dll/win32/newdev/newdev.c Mon May 29 13:36:26 2006 @@ -54,12 +54,12 @@ /* FIXME: InstallFlags bRebootRequired ignored! */
/* Check flags */ - /* FIXME: if (InstallFlags & ~(INSTALLFLAG_FORCE | INSTALLFLAG_READONLY | INSTALLFLAG_NONINTERACTIVE)) + if (InstallFlags & ~(INSTALLFLAG_FORCE | INSTALLFLAG_READONLY | INSTALLFLAG_NONINTERACTIVE)) { DPRINT("Unknown flags: 0x%08lx\n", InstallFlags & ~(INSTALLFLAG_FORCE | INSTALLFLAG_READONLY | INSTALLFLAG_NONINTERACTIVE)); SetLastError(ERROR_INVALID_FLAGS); goto cleanup; - }*/ + }
/* Enumerate all devices of the system */ DevInstData.hDevInfo = SetupDiGetClassDevsW(NULL, NULL, hwndParent, DIGCF_ALLCLASSES | DIGCF_PRESENT); @@ -374,7 +374,7 @@ if (SearchDriverRecursive(DevInstData, FullPath)) { retval = TRUE; - break; + /* We continue the search for a better driver */ } } else @@ -392,14 +392,13 @@ if (SearchDriver(DevInstData, DirPath, NULL)) { retval = TRUE; - goto cleanup; + /* We continue the search for a better driver */ }
} } }
-cleanup: if (hFindFile != INVALID_HANDLE_VALUE) FindClose(hFindFile); return retval;