[Wine-patches] kernel32: Use drive types returned by mountmgr in the first place (eterbug #4061).

Alexander Morozov amorozov на etersoft.ru
Ср Июл 15 19:49:06 MSD 2009


----------- следующая часть -----------
From 6116e7d3fe6898edc8b8381a0bd69a612dcd5887 Mon Sep 17 00:00:00 2001
From: Alexander Morozov <amorozov на etersoft.ru>
Date: Wed, 15 Jul 2009 19:45:28 +0400
Subject: [PATCH] kernel32: Use drive types returned by mountmgr in the first place (eterbug #4061).

---
 dlls/kernel32/volume.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/dlls/kernel32/volume.c b/dlls/kernel32/volume.c
index 0f4161c..d986d17 100644
--- a/dlls/kernel32/volume.c
+++ b/dlls/kernel32/volume.c
@@ -1349,6 +1349,7 @@ UINT WINAPI GetDriveTypeW(LPCWSTR root) /* [in] String describing drive */
 
     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)
@@ -1366,13 +1367,14 @@ UINT WINAPI GetDriveTypeW(LPCWSTR root) /* [in] String describing drive */
         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;
 }
-- 
1.6.3.3



Подробная информация о списке рассылки Wine-patches