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