kernel32: Improve GetVolumeInformation filesystem flags I set flags value according to my tests which may differ from a windows version to another.
Alexandre Goujon
ale.goujon at gmail.com
Sun Aug 28 06:05:02 CDT 2011
---
dlls/kernel32/volume.c | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/dlls/kernel32/volume.c b/dlls/kernel32/volume.c
index 41adf25..04acaf5 100644
--- a/dlls/kernel32/volume.c
+++ b/dlls/kernel32/volume.c
@@ -776,7 +776,7 @@ fill_fs_info: /* now fill in the information that depends on the file system ty
case FS_ISO9660:
if (fsname) lstrcpynW( fsname, cdfsW, fsname_len );
if (filename_len) *filename_len = 221;
- if (flags) *flags = FILE_READ_ONLY_VOLUME;
+ if (flags) *flags = FILE_READ_ONLY_VOLUME | FILE_CASE_SENSITIVE_SEARCH;
break;
case FS_UDF:
if (fsname) lstrcpynW( fsname, udfW, fsname_len );
@@ -786,15 +786,19 @@ fill_fs_info: /* now fill in the information that depends on the file system ty
break;
case FS_FAT1216:
if (fsname) lstrcpynW( fsname, fatW, fsname_len );
+ /* fallthrough */
case FS_FAT32:
if (type == FS_FAT32 && fsname) lstrcpynW( fsname, fat32W, fsname_len );
if (filename_len) *filename_len = 255;
- if (flags) *flags = FILE_CASE_PRESERVED_NAMES; /* FIXME */
+ if (flags) *flags = FILE_UNICODE_ON_DISK | FILE_CASE_PRESERVED_NAMES;
break;
default:
if (fsname) lstrcpynW( fsname, ntfsW, fsname_len );
if (filename_len) *filename_len = 255;
- if (flags) *flags = FILE_CASE_PRESERVED_NAMES;
+ if (flags) *flags = FILE_NAMED_STREAMS | FILE_SUPPORTS_ENCRYPTION | FILE_SUPPORTS_OBJECT_IDS
+ | FILE_SUPPORTS_REPARSE_POINTS | FILE_SUPPORTS_SPARSE_FILES | FILE_VOLUME_QUOTAS
+ | FILE_FILE_COMPRESSION | FILE_PERSISTENT_ACLS | FILE_UNICODE_ON_DISK
+ | FILE_CASE_PRESERVED_NAMES | FILE_CASE_SENSITIVE_SEARCH;
break;
}
ret = TRUE;
--
1.7.4.1
More information about the wine-patches
mailing list