Esempio n. 1
0
        private static bool WalkIntoDir(ref Spi.Native.Win32.WIN32_FIND_DATA findData, Predicate <string> EnterDir, bool FollowJunctions)
        {
            const uint FILE_ATTRIBUTE_REPARSE_POINT = 0x400;

            if ((findData.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) != 0)
            {
                // 2015-12-01 Spindler  is junction/symlink or whatever
                if (FollowJunctions == false)
                {
                    return(false);
                }
            }

            if (EnterDir == null)
            {
                return(true);
            }

            return(EnterDir(findData.cFileName));
        }
Esempio n. 2
0
 public static ulong GetFilesize(Spi.Native.Win32.WIN32_FIND_DATA find_data)
 {
     return(TwoUIntsToULong(find_data.nFileSizeHigh, find_data.nFileSizeLow));
 }
Esempio n. 3
0
 public static bool IsDirectoryFlagSet(Spi.Native.Win32.WIN32_FIND_DATA find_data)
 {
     return(IsDirectoryFlagSet(find_data.dwFileAttributes));
 }
Esempio n. 4
0
 public DirEntry(StringBuilder Dirname, Spi.Native.Win32.WIN32_FIND_DATA FindData, int BaseDirLen)
 {
     this.Dir        = Dirname;
     this.BaseDirLen = BaseDirLen;
     this.FindData   = FindData;
 }