An application vendor opened a bug with the product team saying that
the
PathIsUNC
function
was returning incorrect values in Windows Vista.
Specifically, the
PathIsUNC
function was returning FALSE
for strings that begin with \\?\
,
whereas Windows XP returned TRUE
.
The answer is,
“Yes, the PathIsUNC
function returns
FALSE
for strings that begin with \\?\
.
Because they aren’t UNCs.”
There was a bug in the Windows XP version of the
PathIsUNC
function where it reported that anything
that began with two backslashes was a UNC,
even if it wasn’t.
In particular, paths that begin with \\?\
are not
UNCs,
unless they happen to begin with \\?\UNC\
.
The bug was fixed in Windows Vista so it returned TRUE
only if the \\?\
is followed by UNC\
.
Fortunately, the application compatibility team had a ready answer
for this:
The
EmulateOldPathIsUNC
compatibility shim returns the PathIsUNC
function
to its old behavior that is bug-for-bug compatible with Windows XP.