[TC 8.0 B22 x32] Win8 Hardlink bug
Moderators: Hacker, petermad, Stefan2, white
- ghisler(Author)
- Site Admin
- Posts: 50541
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
I did add code to handle this, but I can't test it because I don't know how to create such links. What tool do I need?
Btw, are you sure that these paths start with \\?\Volume{ and not just Volume{ ???
Btw, are you sure that these paths start with \\?\Volume{ and not just Volume{ ???
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
mounvol would do, I tested using it (present in Win8 by default).ghisler(Author) wrote:I did add code to handle this, but I can't test it because I don't know how to create such links. What tool do I need?
I did not check what API functions return for these mount points, but my NL_Info plugin recognizes and translates them into hard disk letter correctly.ghisler(Author) wrote:Btw, are you sure that these paths start with \\?\Volume{ and not just Volume{ ???
A couple of outputs:
Code: Select all
C:\Temp>dir
Volume in drive C has no label.
Volume Serial Number is 9048-DEBD
Directory of C:\Temp
17.04.2012 15:16 <DIR> .
17.04.2012 15:16 <DIR> ..
17.04.2012 14:57 <JUNCTION> Mnt [\??\Volume{352921ce-886e-11e1-a103-806e6f6e6963}\]
17.04.2012 15:01 <JUNCTION> TotalCmd [c:\Program Files\TotalCmd]
17.04.2012 15:16 <SYMLINKD> TotalCmd-s [c:\Program Files\TotalCmd]
0 File(s) 0 bytes
5 Dir(s) 14 927 192 064 bytes free
C:\Temp>mountvol
Creates, deletes, or lists a volume mount point.
MOUNTVOL [drive:]path VolumeName
MOUNTVOL [drive:]path /D
MOUNTVOL [drive:]path /L
MOUNTVOL [drive:]path /P
MOUNTVOL /R
MOUNTVOL /N
MOUNTVOL /E
path Specifies the existing NTFS directory where the mount
point will reside.
VolumeName Specifies the volume name that is the target of the mount
point.
/D Removes the volume mount point from the specified directory.
/L Lists the mounted volume name for the specified directory.
/P Removes the volume mount point from the specified directory,
dismounts the volume, and makes the volume not mountable.
You can make the volume mountable again by creating a volume
mount point.
/R Removes volume mount point directories and registry settings
for volumes that are no longer in the system.
/N Disables automatic mounting of new volumes.
/E Re-enables automatic mounting of new volumes.
Possible values for VolumeName along with current mount points are:
\\?\Volume{352921cd-886e-11e1-a103-806e6f6e6963}\
*** NO MOUNT POINTS ***
\\?\Volume{352921ce-886e-11e1-a103-806e6f6e6963}\
C:\
C:\Temp\Mnt\
\\?\Volume{352921d2-886e-11e1-a103-806e6f6e6963}\
D:\
http://flint-inc.ru/Temp/tcbeta80/win8_mntpoint_info.png
(Please, disregard the junction and symlink to TotalCmd folder, they were for a different test.)
Flint's Homepage: Full TC Russification Package, VirtualDisk, NTFS Links, NoClose Replacer, and other stuff!
Using TC 11.03 / Win10 x64
Using TC 11.03 / Win10 x64
- ghisler(Author)
- Site Admin
- Posts: 50541
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
OK, the problem seems to be that I was checking for '\\?\Volume{', but the stored value is actually '\??\Volume{' with TWO question marks, but just one backslash! And that although I used the command
mountvol c:\path \\?\Volume{352921d2-886e-11e1-a103-806e6f6e6963}
with just ONE question mark. I will therefore have to check for '\??\Volume{' and not for '\\?\Volume{'...
mountvol c:\path \\?\Volume{352921d2-886e-11e1-a103-806e6f6e6963}
with just ONE question mark. I will therefore have to check for '\??\Volume{' and not for '\\?\Volume{'...
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
ghisler(Author)
Probably, mountvol (or underlying layer) just translated the user-mode name (starting with \\?\) into kernel-mode name (with \??\)…
Probably, mountvol (or underlying layer) just translated the user-mode name (starting with \\?\) into kernel-mode name (with \??\)…
Flint's Homepage: Full TC Russification Package, VirtualDisk, NTFS Links, NoClose Replacer, and other stuff!
Using TC 11.03 / Win10 x64
Using TC 11.03 / Win10 x64
- ghisler(Author)
- Site Admin
- Posts: 50541
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Anyway, I'm now checking for both, and just skip the link if any of them matches.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Confirm fixed in 8.0 final.
Flint's Homepage: Full TC Russification Package, VirtualDisk, NTFS Links, NoClose Replacer, and other stuff!
Using TC 11.03 / Win10 x64
Using TC 11.03 / Win10 x64
- ghisler(Author)
- Site Admin
- Posts: 50541
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact: