/* Copyright (C) 2008-2016 Peter Palotas, Jeffrey Jangli, Alexandr Normuradov
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
using System;
namespace Alphaleonis.Win32.Filesystem
{
/// [AlphaFS] Directory enumeration options, flags that specify how a directory is to be enumerated.
[Flags]
public enum DirectoryEnumerationOptions
{
/// None (do not use).
None = 0,
/// Enumerate files only.
Files = 1,
/// Enumerate directories only.
Folders = 2,
/// Enumerate files and directories.
FilesAndFolders = Files | Folders,
/// Return full path as long full path (Unicode format), only valid when return type is .
AsLongPath = 4,
/// Skip reparse points during directory enumeration.
SkipReparsePoints = 8,
/// Suppress any Exception that might be thrown as a result from a failure, such as ACLs protected directories or non-accessible reparse points.
ContinueOnException = 16,
/// Specifies whether to search the current directory, or the current directory and all subdirectories.
Recursive = 32,
/// Enumerates the directory without querying the short file name, improving overall enumeration speed.
/// This option is enabled by default if supported. This value is not supported until Windows Server 2008 R2 and Windows 7.
BasicSearch = 64,
/// Enumerates the directory using a larger buffer for directory queries, which can increase performance of the find operation.
/// This option is enabled by default if supported. This value is not supported until Windows Server 2008 R2 and Windows 7.
LargeCache = 128
}
}