mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 12:23:31 +00:00
[NTFS]
Try to read the names from the biggest name space to the smallest. Only at the end assert we have to have a name. This fixes name enumeration on Windows 7 NTFS volumes. svn path=/trunk/; revision=65239
This commit is contained in:
@@ -137,7 +137,15 @@ NtfsGetNameInformation(PDEVICE_EXTENSION DeviceExt,
|
||||
|
||||
DPRINT("NtfsGetNameInformation() called\n");
|
||||
|
||||
FileName = GetFileNameFromRecord(FileRecord, NTFS_FILE_NAME_WIN32);
|
||||
FileName = GetFileNameFromRecord(FileRecord, NTFS_FILE_NAME_POSIX);
|
||||
if (FileName == NULL)
|
||||
{
|
||||
FileName = GetFileNameFromRecord(FileRecord, NTFS_FILE_NAME_WIN32);
|
||||
if (FileName == NULL)
|
||||
{
|
||||
FileName = GetFileNameFromRecord(FileRecord, NTFS_FILE_NAME_DOS);
|
||||
}
|
||||
}
|
||||
ASSERT(FileName != NULL);
|
||||
|
||||
Length = FileName->NameLength * sizeof (WCHAR);
|
||||
@@ -165,7 +173,15 @@ NtfsGetDirectoryInformation(PDEVICE_EXTENSION DeviceExt,
|
||||
|
||||
DPRINT("NtfsGetDirectoryInformation() called\n");
|
||||
|
||||
FileName = GetFileNameFromRecord(FileRecord, NTFS_FILE_NAME_WIN32);
|
||||
FileName = GetFileNameFromRecord(FileRecord, NTFS_FILE_NAME_POSIX);
|
||||
if (FileName == NULL)
|
||||
{
|
||||
FileName = GetFileNameFromRecord(FileRecord, NTFS_FILE_NAME_WIN32);
|
||||
if (FileName == NULL)
|
||||
{
|
||||
FileName = GetFileNameFromRecord(FileRecord, NTFS_FILE_NAME_DOS);
|
||||
}
|
||||
}
|
||||
ASSERT(FileName != NULL);
|
||||
|
||||
Length = FileName->NameLength * sizeof (WCHAR);
|
||||
@@ -206,7 +222,15 @@ NtfsGetFullDirectoryInformation(PDEVICE_EXTENSION DeviceExt,
|
||||
|
||||
DPRINT("NtfsGetFullDirectoryInformation() called\n");
|
||||
|
||||
FileName = GetFileNameFromRecord(FileRecord, NTFS_FILE_NAME_WIN32);
|
||||
FileName = GetFileNameFromRecord(FileRecord, NTFS_FILE_NAME_POSIX);
|
||||
if (FileName == NULL)
|
||||
{
|
||||
FileName = GetFileNameFromRecord(FileRecord, NTFS_FILE_NAME_WIN32);
|
||||
if (FileName == NULL)
|
||||
{
|
||||
FileName = GetFileNameFromRecord(FileRecord, NTFS_FILE_NAME_DOS);
|
||||
}
|
||||
}
|
||||
ASSERT(FileName != NULL);
|
||||
|
||||
Length = FileName->NameLength * sizeof (WCHAR);
|
||||
@@ -248,7 +272,15 @@ NtfsGetBothDirectoryInformation(PDEVICE_EXTENSION DeviceExt,
|
||||
|
||||
DPRINT("NtfsGetBothDirectoryInformation() called\n");
|
||||
|
||||
FileName = GetFileNameFromRecord(FileRecord, NTFS_FILE_NAME_WIN32);
|
||||
FileName = GetFileNameFromRecord(FileRecord, NTFS_FILE_NAME_POSIX);
|
||||
if (FileName == NULL)
|
||||
{
|
||||
FileName = GetFileNameFromRecord(FileRecord, NTFS_FILE_NAME_WIN32);
|
||||
if (FileName == NULL)
|
||||
{
|
||||
FileName = GetFileNameFromRecord(FileRecord, NTFS_FILE_NAME_DOS);
|
||||
}
|
||||
}
|
||||
ASSERT(FileName != NULL);
|
||||
ShortFileName = GetFileNameFromRecord(FileRecord, NTFS_FILE_NAME_DOS);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user