public static Boolean TryFindFirstFile(String path, out NativeFindFileHandle findHandle, out Win32FindData findData) { findHandle = FindFirstFileExW(path, FindExInfoLevels.FindExInfoBasic, out findData, FindExSearchOps.FindExSearchNameMatch, IntPtr.Zero, AdditionalFlags.FindFirstEXLargeFetch); if (findHandle.IsInvalid) { findHandle = null; return(false); } return(true); }
public static Boolean TryFindNextFile(NativeFindFileHandle findHandle, out Win32FindData findData) { if (!FindNextFileW(findHandle.DangerousGetHandle(), out findData)) { var error = Marshal.GetLastWin32Error(); findData.NoMoreFiles = error == NO_MORE_FILES; return(false); } else { findData.NoMoreFiles = false; } return(true); }