Конференция "KOL" » SymLinks [Delphi, Windows]
 
  • MTsv DN (25.01.11 09:53) [0]
    Всем привет...

    Появился вопрос.

    Как в Windows 7 получить реальный каталог для символической ссылки на папку? С помощью FILE_ATTRIBUTE_REPARSE_POINT я могу определять какая папка является ссылкой, а вот как получить ссылкой на что эта папка является?
  • MTsv DN (25.01.11 10:12) [1]
    Вопрос закрыт...
  • QAZ (25.01.11 17:44) [2]
    и как?
  • Thaddy © (30.01.11 13:55) [3]
    The winapi function GetFileInformationByHandle(in Infile:THandle;out Info:PByHandleFileInformation); fills a BY_HANDLE_FILE_INFORMATION structure which has a field dwFileAttributes where bits are set with info about the file's attributes (details here). Simply test the bitmask FILE_ATTRIBUTE_REPARSE_POINT with flag $0400.

    See windows.pas
  • Thaddy © (30.01.11 14:15) [4]
    Or much easier:
    Copy from JCL:

    function NtfsFileHasReparsePoint(const Path: string): Boolean;
    var
     Attr: DWORD;
    begin
     Result := False;
     Attr := GetFileAttributes(PChar(Path));
     if Attr <> DWORD(-1) then
       Result := (Attr and FILE_ATTRIBUTE_REPARSE_POINT) <> 0;
    end;
  • hex (25.06.13 16:49) [5]
    И всетаки как?

    GetFileInformationByHandle не позволяет узнать путь!
    Только узнать кол-во точек монтирования и все. =\
  • hex (25.06.13 16:49) [6]
    И всетаки как?

    GetFileInformationByHandle не позволяет узнать путь!
    Только узнать кол-во точек монтирования и все. =\
  • RWolf © (25.06.13 19:16) [7]
    GetFinalPathNameByHandle
  • MTsv DN (27.06.13 17:57) [8]
    Если вопрос актуален, могу выложить сырцы. Не претендую на авторство, тк где-то "намыл"...
  • tmp (27.02.14 17:24) [9]
    Хорошо бы..
 
Конференция "KOL" » SymLinks [Delphi, Windows]
Есть новые Нет новых   [118655   +17][b:0][p:0]