svn path=/trunk/; revision=22102
/* FIXME: InstallFlags bRebootRequired ignored! */
/* Check flags */
/* 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;
{
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);
/* Enumerate all devices of the system */
DevInstData.hDevInfo = SetupDiGetClassDevsW(NULL, NULL, hwndParent, DIGCF_ALLCLASSES | DIGCF_PRESENT);
if (SearchDriverRecursive(DevInstData, FullPath))
{
retval = TRUE;
if (SearchDriverRecursive(DevInstData, FullPath))
{
retval = TRUE;
+ /* We continue the search for a better driver */
if (SearchDriver(DevInstData, DirPath, NULL))
{
retval = TRUE;
if (SearchDriver(DevInstData, DirPath, NULL))
{
retval = TRUE;
+ /* We continue the search for a better driver */
if (hFindFile != INVALID_HANDLE_VALUE)
FindClose(hFindFile);
return retval;
if (hFindFile != INVALID_HANDLE_VALUE)
FindClose(hFindFile);
return retval;