using System;
namespace Vanara.PInvoke
{
public static partial class Kernel32
{
///
/// Flags that may be passed to the
/// function.
///
[Flags]
[PInvokeData("winnt.h")]
public enum FileSystemFlags : uint
{
/// The specified volume supports case-sensitive file names.
FILE_CASE_SENSITIVE_SEARCH = 0x00000001,
/// The specified volume supports preserved case of file names when it places a name on disk.
FILE_CASE_PRESERVED_NAMES = 0x00000002,
/// The specified volume supports Unicode in file names as they appear on disk.
FILE_UNICODE_ON_DISK = 0x00000004,
///
/// The specified volume preserves and enforces access control lists (ACL). For example, the NTFS file system preserves and
/// enforces ACLs, and the FAT file system does not.
///
FILE_PERSISTENT_ACLS = 0x00000008,
/// The specified volume supports file-based compression.
FILE_FILE_COMPRESSION = 0x00000010,
/// The specified volume supports disk quotas.
FILE_VOLUME_QUOTAS = 0x00000020,
/// The specified volume supports sparse files.
FILE_SUPPORTS_SPARSE_FILES = 0x00000040,
/// The specified volume supports re-parse points.
FILE_SUPPORTS_REPARSE_POINTS = 0x00000080,
/// The file system supports remote storage.
FILE_SUPPORTS_REMOTE_STORAGE = 0x00000100,
///
FILE_RETURNS_CLEANUP_RESULT_INFO = 0x00000200,
///
FILE_SUPPORTS_POSIX_UNLINK_RENAME = 0x00000400,
/// The specified volume is a compressed volume.
FILE_VOLUME_IS_COMPRESSED = 0x00008000,
/// The specified volume supports object identifiers.
FILE_SUPPORTS_OBJECT_IDS = 0x00010000,
///
/// The specified volume supports the Encrypted File System (EFS). For more information, see
/// File Encryption.
///
FILE_SUPPORTS_ENCRYPTION = 0x00020000,
/// The specified volume supports named streams.
FILE_NAMED_STREAMS = 0x00040000,
/// The specified volume is read-only.
FILE_READ_ONLY_VOLUME = 0x00080000,
/// The specified volume supports a single sequential write.
FILE_SEQUENTIAL_WRITE_ONCE = 0x00100000,
///
/// The specified volume supports transactions. For more information, see
/// About KTM.
///
FILE_SUPPORTS_TRANSACTIONS = 0x00200000,
///
/// The specified volume supports hard links. For more information, see
/// Hard Links and Junctions.
///
/// Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP: This value is not supported until Windows
/// Server 2008 R2 and Windows 7.
///
///
FILE_SUPPORTS_HARD_LINKS = 0x00400000,
///
/// The specified volume supports extended attributes. An extended attribute is a piece of application-specific metadata that an
/// application can associate with a file and is not part of the file's data.
///
/// Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP: This value is not supported until Windows
/// Server 2008 R2 and Windows 7.
///
///
FILE_SUPPORTS_EXTENDED_ATTRIBUTES = 0x00800000,
///
/// The file system supports open by FileID. For more information, see FILE_ID_BOTH_DIR_INFO.
///
/// Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP: This value is not supported until Windows
/// Server 2008 R2 and Windows 7.
///
///
FILE_SUPPORTS_OPEN_BY_FILE_ID = 0x01000000,
///
/// The specified volume supports update sequence number (USN) journals. For more information, see
/// Change Journal Records .
///
/// Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP: This value is not supported until Windows
/// Server 2008 R2 and Windows 7.
///
///
FILE_SUPPORTS_USN_JOURNAL = 0x02000000,
/// The specified volume supports integrity streams.
FILE_SUPPORTS_INTEGRITY_STREAMS = 0x04000000,
/// The specified volume supports block refcounting.
FILE_SUPPORTS_BLOCK_REFCOUNTING = 0x08000000,
/// The specified volume supports sparse VDL.
FILE_SUPPORTS_SPARSE_VDL = 0x10000000,
///
/// The specified volume is a direct access (DAX) volume.
/// Note This flag was introduced in Windows 10, version 1607.
///
FILE_DAX_VOLUME = 0x20000000,
/// The specified volume supports ghosting.
FILE_SUPPORTS_GHOSTING = 0x40000000
}
}
}