if (!open_device_root( root, &handle )) return DRIVE_NO_ROOT_DIR;
+ if ((ret = get_mountmgr_drive_type( root )) != DRIVE_UNKNOWN) goto ret;
status = NtQueryVolumeInformationFile( handle, &io, &info, sizeof(info), FileFsDeviceInformation );
NtClose( handle );
if (status != STATUS_SUCCESS)
case FILE_DEVICE_DISK_FILE_SYSTEM:
if (info.Characteristics & FILE_REMOTE_DEVICE) ret = DRIVE_REMOTE;
else if (info.Characteristics & FILE_REMOVABLE_MEDIA) ret = DRIVE_REMOVABLE;
- else if ((ret = get_mountmgr_drive_type( root )) == DRIVE_UNKNOWN) ret = DRIVE_FIXED;
+ else ret = DRIVE_FIXED;
break;
default:
ret = DRIVE_UNKNOWN;
break;
}
}
+ret:
TRACE( "%s -> %d\n", debugstr_w(root), ret );
return ret;
}