Ich schicke meine Pfade immer alle durch die erste Funktion. Bisher lief immer alles glatt. Vielleicht hilft das ja
Delphi-Quellcode:
function getUNCPath(aPath:
string):
string;
begin
if not Winapi.ShLwApi.PathIsNetworkPath(PWideChar(aPath))
then
if not System.IOUtils.TPath.IsUNCPath(aPath)
then
aPath := '
\\?\' + aPath;
Result := aPath;
end;
function removeUNCFromPath(aPath:
string):
string;
begin
if not Winapi.ShLwApi.PathIsNetworkPath(PWideChar(aPath))
then
if System.IOUtils.TPath.IsUNCPath(aPath)
then
Delete(aPath, 1, 4);
Result := aPath;
end;
// Test
ShowMessage( getUNCPath('
Y:\') );
// Y = Netzlaufwerk. Resultat => Y:\
ShowMessage( getUNCPath('
C:\') );
// C = Systemlaufwerk. Resultat => \\?\C:\