Einzelnen Beitrag anzeigen

SneakyBagels
(Gast)

n/a Beiträge
 
#20

AW: Existenz langer Pfade

  Alt 4. Jul 2017, 15:53
Zitat:
"\\?\": Notation für ein lokales Laufwerke oder Gerät
"\\?\UNC\": Notation für ein Netzwerklaufwerk
So etwas in der Art dachte ich mir schon. Gut zu wissen. Ich denke unsere Lösungen sind jetzt quasi gleich. Aber ich bin sicher es geht noch besser.

Delphi-Quellcode:
function getUNCPath(const aPath: string): string;
begin
 Result := aPath;

 if aPath.StartsWith('\\') then
  begin
   if TPath.GetExtendedPrefix(aPath) = TPathPrefixType.pptNoPrefix then
    Result := '\\?\UNC\' + Copy(aPath, 3, Length(aPath));
  end
 else
  Result := '\\?\' + aPath;
end;

function removeUNCFromPath(const aPath: string): string;
begin
 Result := aPath;

 if TPath.GetExtendedPrefix(aPath) = TPathPrefixType.pptExtended then // \\?\ present
  Delete(Result, 1, 4)
 else if TPath.GetExtendedPrefix(aPath) = TPathPrefixType.pptExtendedUNC then // \\?\UNC\ present
  Delete(Result, 3, 6);
end;

Geändert von SneakyBagels ( 4. Jul 2017 um 15:59 Uhr)
  Mit Zitat antworten Zitat