internal override bool IsResultIncluded(SearchResult result) { bool includeFile = _includeFiles && Win32FileSystemEnumerableHelpers.IsFile(result.FindData); bool includeDir = _includeDirs && Win32FileSystemEnumerableHelpers.IsDir(result.FindData); Contract.Assert(!(includeFile && includeDir), result.FindData.cFileName + ": current item can't be both file and dir!"); return(includeFile || includeDir); }
internal override bool IsResultIncluded(string fullPath, string userPath, ref Interop.mincore.WIN32_FIND_DATA findData, out FileInfo result) { if (Win32FileSystemEnumerableHelpers.IsFile(ref findData)) { string fullPathFinal = Path.Combine(fullPath, findData.cFileName); result = new FileInfo(fullPathFinal, ref findData); return(true); } result = null; return(false); }
internal override bool IsResultIncluded(string fullPath, string userPath, ref Interop.mincore.WIN32_FIND_DATA findData, out string result) { if ((_includeFiles && Win32FileSystemEnumerableHelpers.IsFile(ref findData)) || (_includeDirs && Win32FileSystemEnumerableHelpers.IsDir(ref findData))) { result = Path.Combine(userPath, findData.cFileName); return(true); } result = null; return(false); }
internal override bool IsResultIncluded(string fullPath, string userPath, ref Interop.Kernel32.WIN32_FIND_DATA findData, out FileSystemInfo result) { if (Win32FileSystemEnumerableHelpers.IsFile(ref findData)) { string fullPathFinal = Path.Combine(fullPath, findData.cFileName.GetStringFromFixedBuffer()); result = new FileInfo(fullPathFinal, ref findData); return(true); } else if (Win32FileSystemEnumerableHelpers.IsDir(ref findData)) { string fullPathFinal = Path.Combine(fullPath, findData.cFileName.GetStringFromFixedBuffer()); result = new DirectoryInfo(fullPathFinal, ref findData); return(true); } result = null; return(false); }
internal override FileSystemInfo CreateObject(SearchResult result) { bool isFile = Win32FileSystemEnumerableHelpers.IsFile(result.FindData); bool isDir = Win32FileSystemEnumerableHelpers.IsDir(result.FindData); String name = result.FullPath; if (isDir) { IFileSystemObject fileSystemObject = new Win32FileSystem.Win32FileSystemObject(name, result.FindData, asDirectory: true); DirectoryInfo di = new DirectoryInfo(name, fileSystemObject); return(di); } else { Contract.Assert(isFile); IFileSystemObject fileSystemObject = new Win32FileSystem.Win32FileSystemObject(name, result.FindData, asDirectory: false); FileInfo fi = new FileInfo(name, fileSystemObject); return(fi); } }
internal override bool IsResultIncluded(SearchResult result) { return(Win32FileSystemEnumerableHelpers.IsFile(result.FindData)); }