While querying reparse points using fsutil, I found out that the substitute name for a mount point started with \??\
. I know that an extended path starts with \\?\
, and there is also \\.\
and the UNC format, but I've never encountered this prefix before.
I tried some tests to see how it behaves:
dir \??\C:\
doesn't work (it is interpreted as a relative path and fails with "file not found").more < \??\C:\file.txt
correctly displays the content of the file. Consistent with\\?\
.more < \\.\C:\Windows\..\file.txt
doesn't find the file. Also consistent with\\?\
.more < \??\UNC\localhost\C$\file.txt
also works consistently.
From my observations, it looks like \??\
is an alternative to \\?\
, but some commands fail to recognize it, probably due to poor implementation.
Why does this syntax exist? Is it some relic from past versions of NTFS? Are there some other differences to \\?\
?