Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ' ***********************************************************************
- ' Author : ElektroStudios
- ' Modified : 30-March-2022
- ' ***********************************************************************
- #Region " Option Statements "
- Option Strict On
- Option Explicit On
- Option Infer Off
- #End Region
- #Region " Imports "
- Imports DevCase.Interop.Unmanaged.Win32.Interfaces
- #End Region
- #Region " FileOperationFlags "
- ' ReSharper disable once CheckNamespace
- Namespace DevCase.Interop.Unmanaged.Win32.Enums
- ''' ----------------------------------------------------------------------------------------------------
- ''' <summary>
- ''' Specifies the flags that control the file operation when calling <see cref="IFileOperation.SetOperationFlags"/> function.
- ''' </summary>
- ''' ----------------------------------------------------------------------------------------------------
- ''' <remarks>
- ''' <see href="https://docs.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifileoperation-setoperationflags"/>
- ''' </remarks>
- ''' ----------------------------------------------------------------------------------------------------
- <Flags>
- Public Enum FileOperationFlags As UInteger
- ''' <summary>
- ''' Specifies multiple destination files (one for each source file)
- ''' rather than one directory where all source files are to be deposited.
- ''' </summary>
- ''' <remarks>
- ''' <seealso href="https://docs.microsoft.com/en-us/windows/win32/api/shellapi/ns-shellapi-shfileopstructa"/>
- ''' </remarks>
- MultipleDestinationFiles = &H1UI
- ''' <summary>
- ''' Not used.
- ''' </summary>
- ''' <remarks>
- ''' <seealso href="https://docs.microsoft.com/en-us/windows/win32/api/shellapi/ns-shellapi-shfileopstructa"/>
- ''' </remarks>
- ConfirmMouse = &H2UI
- ''' <summary>
- ''' Do not display a progress dialog box.
- ''' </summary>
- Silent = &H4UI
- ''' <summary>
- ''' Give the item being operated on a new name in a move, copy,
- ''' or rename operation if an item with the target name already exists.
- ''' </summary>
- RenameCollision = &H8UI
- ''' <summary>
- ''' Respond with Yes to All for any dialog box that is displayed.
- ''' </summary>
- NoConfirmation = &H10UI
- ''' <summary>
- ''' If <see cref="FileOperationFlags.RenameCollision"/> is specified and any files were renamed,
- ''' assign a name mapping object that contains their old and new names to the SHFILEOPSTRUCT.hNameMappings member.
- ''' <para></para>
- ''' This object must be freed using SHFreeNameMappings function when it is no longer needed.
- ''' </summary>
- ''' <remarks>
- ''' <seealso href="https://docs.microsoft.com/en-us/windows/win32/api/shellapi/ns-shellapi-shfileopstructa"/>
- ''' </remarks>
- WantMappingHandle = &H20UI
- ''' <summary>
- ''' Preserve undo information, if possible.
- ''' </summary>
- AllowUndo = &H40UI
- ''' <summary>
- ''' Perform the operation only on files (not on folders) if a wildcard file name (.) is specified.
- ''' </summary>
- FilesOnly = &H80UI
- ''' <summary>
- ''' Display a progress dialog box but do not show individual file names as they are operated on.
- ''' </summary>
- ''' <remarks>
- ''' <seealso href="https://docs.microsoft.com/en-us/windows/win32/api/shellapi/ns-shellapi-shfileopstructa"/>
- ''' </remarks>
- SimpleProgress = &H100UI
- ''' <summary>
- ''' Do not confirm the creation of a new folder if the operation requires one to be created.
- ''' </summary>
- NoConfirmMakeDir = &H200UI
- ''' <summary>
- ''' Do not display a message to the user if an error occurs.
- ''' <para></para>
- ''' If this flag is set without <see cref="FileOperationFlags.EarlyFailure"/>,
- ''' any error is treated as if the user had chosen Ignore or Continue in a dialog box.
- ''' <para></para>
- ''' It halts the current action, sets a flag to indicate that an action was aborted,
- ''' and proceeds with the rest of the operation.
- ''' </summary>
- NoErrorUI = &H400UI
- ''' <summary>
- ''' Do not copy the security attributes of the item.
- ''' </summary>
- NoCopySecurityAttributes = &H800UI
- ''' <summary>
- ''' Only operate in the local folder. Do not operate recursively into subdirectories.
- ''' </summary>
- NoRecursion = &H1000UI
- ''' <summary>
- ''' Do not move connected items as a group. Only move the specified files.
- ''' </summary>
- NoConnectedElements = &H2000UI
- ''' <summary>
- ''' Send a warning if a file or folder is being destroyed during a delete operation rather than recycled.
- ''' <para></para>
- ''' This flag partially overrides <see cref="FileOperationFlags.NoConfirmation"/>.
- ''' </summary>
- WantNukeWarning = &H4000UI
- ''' <summary>
- ''' Not used.
- ''' </summary>
- ''' <remarks>
- ''' <seealso href="https://docs.microsoft.com/en-us/windows/win32/api/shellapi/ns-shellapi-shfileopstructa"/>
- ''' </remarks>
- NoRecurseReparse = &H8000UI
- ''' <summary>
- ''' Walk into Shell namespace junctions.
- ''' <para></para>
- ''' By default, junctions are not entered.
- ''' </summary>
- NoSkipJunctions = &H10000UI
- ''' <summary>
- ''' If possible, create a hard link rather than a new instance of the file in the destination.
- ''' </summary>
- PreferHardLink = &H20000UI
- ''' <summary>
- ''' If an operation requires elevated rights
- ''' and the <see cref="FileOperationFlags.NoErrorUI"/> flag is set to disable error UI,
- ''' display a UAC UI prompt nonetheless.
- ''' </summary>
- ShowElevationPrompt = &H40000UI
- ''' <summary>
- ''' If <see cref="FileOperationFlags.EarlyFailure"/> is set together with <see cref="FileOperationFlags.NoErrorUI"/>,
- ''' the entire set of operations is stopped upon encountering any error in any operation.
- ''' <para></para>
- ''' This flag is valid only when <see cref="FileOperationFlags.NoErrorUI"/> is set.
- ''' </summary>
- EarlyFailure = &H100000UI
- ''' <summary>
- ''' Rename collisions in such a way as to preserve file name extensions.
- ''' <para></para>
- ''' This flag is valid only when <see cref="FileOperationFlags.RenameCollision"/> is also set.
- ''' </summary>
- PreserveFileExtensions = &H200000UI
- ''' <summary>
- ''' Keep the newer file or folder, based on the Date Modified property, if a collision occurs.
- ''' <para></para>
- ''' This is done automatically with no prompt UI presented to the user.
- ''' </summary>
- KeepNewerFile = &H400000UI
- ''' <summary>
- ''' Do not use copy hooks.
- ''' </summary>
- NoCopyHooks = &H800000UI
- ''' <summary>
- ''' Do not allow the progress dialog to be minimized.
- ''' </summary>
- NoMinimizeBox = &H1000000UI
- ''' <summary>
- ''' Copy the security attributes of the source item to the destination item
- ''' when performing a cross-volume move operation.
- ''' <para></para>
- ''' Without this flag, the destination item receives the security attributes of its new folder.
- ''' </summary>
- MoveAclsAcrossVolumes = &H2000000UI
- ''' <summary>
- ''' Do not display the path of the source item in the progress dialog.
- ''' </summary>
- DontDisplaySourcePath = &H4000000UI
- ''' <summary>
- ''' Do not display the path of the destination item in the progress dialog.
- ''' </summary>
- DontDisplayDestinationPath = &H8000000UI
- ''' <summary>
- ''' The file operation was user-invoked and should be placed on the undo stack.
- ''' <para></para>
- ''' This flag is preferred to <see cref="FileOperationFlags.AllowUndo"/>.
- ''' </summary>
- AddUndoRecord = &H20000000UI
- ''' <summary>
- ''' When a file is deleted, send it to the Recycle Bin rather than permanently deleting it.
- ''' </summary>
- RecycleOnDelete = &H80000UI
- ''' <summary>
- ''' The user expects a requirement for rights elevation,
- ''' so do not display a dialog box asking for a confirmation of the elevation.
- ''' </summary>
- RequireElevation = &H10000000UI
- ''' <summary>
- ''' Display a Downloading instead of Copying message in the progress dialog.
- ''' </summary>
- CopyAsDownload = &H40000000UI
- ''' <summary>
- ''' Do not display the location line in the progress dialog.
- ''' </summary>
- DontDisplayLocations = &H80000000UI
- End Enum
- End Namespace
- #End Region
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement