Share via


SHFILEOPSTRUCT (Compact 2013)

3/28/2014

This structure contains information that the SHFileOperation function uses to perform file operations.

Syntax

typedef struct _SHFILEOPSTRUCT {
  HWND hwnd;
  UINT wFunc;
  LPCWSTR pFrom;
  LPCWSTR pTo;
  FILEOP_FLAGS fFlags;
  BOOL fAnyOperationsAborted;
  LPVOID hNameMappings;
  LPCWSTR lpszProgressTitle;
} SHFILEOPSTRUCT, *LPSHFILEOPSTRUCT;

Members

  • hwnd
    Window handle to the dialog box to display information about the status of the file operation.
  • wFunc
    Value that indicates which operation to perform. The following table shows the possible values.

    Value

    Description

    FO_COPY

    Copies the files specified in the pFrom member to the location specified in the pTo member.

    FO_DELETE

    Deletes the files specified in pFrom.

    FO_MOVE

    Moves the files specified in pFrom to the location specified in pTo.

    FO_RENAME

    Renames the file specified in pFrom. You cannot use this flag to rename multiple files with a single function call. Use FO_MOVE instead.

  • pFrom
    Address of a buffer to specify one or more source file names. These names must be fully qualified paths. Standard Microsoft® MS-DOS® wildcards, such as "*", are permitted in the file name position. Although this member is declared as a null-terminated string, it is used as a buffer to hold multiple file names. Each file name must be terminated by a single NULL character. An additional NULL character must be appended to the end of the final name to indicate the end of pFrom.
  • pTo
    Address of a buffer to contain the name of the destination file or directory. This parameter must be set to NULL if it is not used. Like pFrom, the pTo member is also a double-null terminated string and is handled in much the same way. However, pTo must meet the following specifications:

    • Wildcard characters are not supported.
    • Copy and Move operations can specify destination directories that do not exist and the system attempts to create them. The system usually displays a dialog box to ask the user if they want to create the new directory. To suppress this dialog box and have the directories created silently, set the FOF_NOCONFIRMMKDIR flag in fFlags.
    • For Copy and Move operations, the buffer can contain multiple destination file names if the fFlags member specifies FOF_MULTIDESTFILES.
    • Pack multiple names into the string in the same way as for pFrom.
    • Use only fully qualified paths. Using relative paths have unpredictable results.
  • fFlags
    Flags that control the file operation. The following table shows the possible values.

    Flag

    Description

    FOF_ALLOWUNDO

    Preserve Undo information, if possible. If pFrom does not contain fully qualified path and file names, this flag is ignored.

    FOF_FILESONLY

    Not supported.

    FOF_MULTIDESTFILES

    Not supported.

    FOF_NO_CONNECTED_ELEMENTS

    Not supported.

    FOF_NOCONFIRMATION

    Respond with "Yes to All" for any dialog box that is displayed.

    FOF_NOCONFIRMMKDIR

    Do not confirm the creation of a new directory if the operation requires one to be created.

    FOF_NOCOPYSECURITYATTRIBS

    Not supported.

    FOF_NOERRORUI

    Do not display a user interface if an error occurs.

    FOF_NORECURSION

    Not supported.

    FOF_RENAMEONCOLLISION

    Give the file being operated on a new name in a move, copy, or rename operation if a file with the target name already exists.

    FOF_SILENT

    Do not display a progress dialog box.

    FOF_SIMPLEPROGRESS

    Display a progress dialog box but do not show the file names.

    FOF_WANTMAPPINGHANDLE

    Not supported.

    FOF_WANTNUKEWARNING

    Not supported.

  • fAnyOperationsAborted
    Not supported.
  • hNameMappings
    Not supported.
  • lpszProgressTitle
    Address of a string to use as the title of a progress dialog box. This member is used only if fFlags includes the FOF_SIMPLEPROGRESS flag.

Remarks

If pFrom is set to a file name, deleting the file with FO_DELETE does not move it to the Recycle Bin, even if the FOF_ALLOWUNDO flag is set. You must use a full path.

Requirements

Header

shellapi.h

See Also

Reference

Shell Structures
SHFileOperation