/* 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. */ namespace Alphaleonis.Win32.Filesystem { internal static partial class NativeMethods { /// FILE_INFO_BY_HANDLE_CLASS /// Identifies the type of file information that GetFileInformationByHandleEx should retrieve or SetFileInformationByHandle should set. /// internal enum FileInfoByHandleClass { #region FILE_BASIC_INFO /// FILE_BASIC_INFO /// Minimal information for the file should be retrieved or set. Used for file handles. /// FileBasicInfo = 0, #endregion // FILE_BASIC_INFO #region FILE_STANDARD_INFO ///// FILE_STANDARD_INFO ///// Extended information for the file should be retrieved. Used for file handles. ///// Use only when calling GetFileInformationByHandleEx. ///// //FileStandardInfo = 1, #endregion // FILE_STANDARD_INFO #region FILE_NAME_INFO ///// FILE_NAME_INFO ///// The file name should be retrieved. Used for any handles. ///// Use only when calling GetFileInformationByHandleEx. ///// //FileNameInfo = 2, #endregion // FILE_NAME_INFO #region FILE_RENAME_INFO ///// FILE_RENAME_INFO ///// The file name should be changed. Used for file handles. ///// Use only when calling . ///// //FileRenameInfo = 3, #endregion // FILE_RENAME_INFO #region FILE_DISPOSITION_INFO ///// FILE_DISPOSITION_INFO ///// The file should be deleted. Used for any handles. ///// Use only when calling . ///// //FileDispositionInfo = 4, #endregion // FILE_DISPOSITION_INFO #region FILE_ALLOCATION_INFO ///// FILE_ALLOCATION_INFO ///// The file allocation information should be changed. Used for file handles. ///// Use only when calling . ///// //FileAllocationInfo = 5, #endregion // FILE_ALLOCATION_INFO #region FILE_END_OF_FILE_INFO ///// FILE_END_OF_FILE_INFO ///// The end of the file should be set. Use only when calling . ///// //FileEndOfFileInfo = 6, #endregion // FILE_END_OF_FILE_INFO #region FILE_STREAM_INFO ///// FILE_STREAM_INFO ///// File stream information for the specified file should be retrieved. Used for any handles. ///// Use only when calling GetFileInformationByHandleEx. ///// //FileStreamInfo = 7, #endregion // FILE_STREAM_INFO #region FILE_COMPRESSION_INFO ///// FILE_COMPRESSION_INFO ///// File compression information should be retrieved. Used for any handles. ///// Use only when calling GetFileInformationByHandleEx. ///// //FileCompressionInfo = 8, #endregion // FILE_COMPRESSION_INFO #region FILE_ATTRIBUTE_TAG_INFO ///// FILE_ATTRIBUTE_TAG_INFO ///// File attribute information should be retrieved. Used for any handles. ///// Use only when calling GetFileInformationByHandleEx. ///// //FileAttributeTagInfo = 9, #endregion // FILE_ATTRIBUTE_TAG_INFO #region FILE_ID_BOTH_DIR_INFO /// FILE_ID_BOTH_DIR_INFO /// Files in the specified directory should be retrieved. Used for directory handles. /// Use only when calling GetFileInformationByHandleEx. /// /// The number of files returned for each call to GetFileInformationByHandleEx /// depends on the size of the buffer that is passed to the function. /// Any subsequent calls to GetFileInformationByHandleEx on the same handle /// will resume the enumeration operation after the last file is returned. /// /// FileIdBothDirectoryInfo = 10 #endregion // FILE_ID_BOTH_DIR_INFO #region FILE_ID_BOTH_DIR_INFO ///// FILE_ID_BOTH_DIR_INFO ///// Identical to , but forces the enumeration operation to start again from the beginning. ///// //FileIdBothDirectoryInfoRestartInfo = 11, #endregion // FILE_ID_BOTH_DIR_INFO #region FILE_IO_PRIORITY_HINT_INFO ///// FILE_IO_PRIORITY_HINT_INFO ///// Priority hint information should be set.Use only when calling . ///// //FileIoPriorityHintInfo = 12, #endregion // FILE_IO_PRIORITY_HINT_INFO #region FILE_REMOTE_PROTOCOL_INFO ///// (13) FILE_REMOTE_PROTOCOL_INFO ///// File remote protocol information should be retrieved.Use for any handles. ///// Use only when calling GetFileInformationByHandleEx. ///// //FileRemoteProtocolInfo = 13, #endregion // FILE_REMOTE_PROTOCOL_INFO #region FILE_FULL_DIR_INFO ///// (14) FILE_FULL_DIR_INFO ///// Files in the specified directory should be retrieved. Used for directory handles. ///// Use only when calling GetFileInformationByHandleEx. ///// ///// Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP: ///// This value is not supported before Windows 8 and Windows Server 2012 ///// ///// //FileFullDirectoryInfo = 14, #endregion // FILE_FULL_DIR_INFO #region FILE_FULL_DIR_INFO ///// FILE_FULL_DIR_INFO ///// Identical to , but forces the enumeration operation to start again from the beginning. Use only when calling GetFileInformationByHandleEx. ///// ///// Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP: ///// This value is not supported before Windows 8 and Windows Server 2012 ///// ///// //FileFullDirectoryRestartInfo = 15, #endregion // FILE_FULL_DIR_INFO #region FILE_STORAGE_INFO ///// FILE_STORAGE_INFO ///// File storage information should be retrieved. Use for any handles. ///// Use only when calling GetFileInformationByHandleEx. ///// ///// Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP: ///// This value is not supported before Windows 8 and Windows Server 2012 ///// ///// //FileStorageInfo = 16, #endregion // FILE_STORAGE_INFO #region FILE_ALIGNMENT_INFO ///// FILE_ALIGNMENT_INFO ///// File alignment information should be retrieved. Use for any handles. ///// Use only when calling GetFileInformationByHandleEx. ///// ///// Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP: ///// This value is not supported before Windows 8 and Windows Server 2012 ///// ///// //FileAlignmentInfo = 17, #endregion FILE_ALIGNMENT_INFO #region FILE_ID_INFO ///// FILE_ID_INFO ///// File information should be retrieved. Use for any handles. ///// Use only when calling GetFileInformationByHandleEx. ///// ///// Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP: ///// This value is not supported before Windows 8 and Windows Server 2012 ///// ///// //FileIdInfo = 18, #endregion // FILE_ID_INFO #region FILE_ID_EXTD_DIR_INFO ///// FILE_ID_EXTD_DIR_INFO ///// Files in the specified directory should be retrieved. Used for directory handles. ///// Use only when calling GetFileInformationByHandleEx. ///// ///// Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP: ///// This value is not supported before Windows 8 and Windows Server 2012 ///// ///// //FileIdExtdDirectoryInfo = 19, #endregion // FILE_ID_EXTD_DIR_INFO #region FILE_ID_EXTD_DIR_INFO ///// FILE_ID_EXTD_DIR_INFO ///// Identical to , but forces the enumeration operation to start again from the beginning. Use only when calling GetFileInformationByHandleEx. ///// ///// Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP: ///// This value is not supported before Windows 8 and Windows Server 2012 ///// ///// //FileIdExtdDirectoryRestartInfo = 20 #endregion // FILE_ID_EXTD_DIR_INFO } } }