Метод IFileOperation::SetOperationFlags (shobjidl_core.h)
Задает параметры для текущей операции.
Синтаксис
HRESULT SetOperationFlags(
[in] DWORD dwOperationFlags
);
Параметры
[in] dwOperationFlags
Тип: DWORD
Флаги, управляющие операцией с файлом. Этот элемент может быть сочетанием следующих флагов. Флаги FOF определяются в Shellapi.h, а флаги FOFX — в Shobjidl.h.
FOF_ALLOWUNDO (0x0040)
По возможности сохраните сведения об отмене.
До Windows Vista операции можно было отменить только из того же процесса, который выполнял исходную операцию.
В Системах Windows Vista и более поздних версий область отмены является сеансом пользователя. Любой процесс, запущенный в сеансе пользователя, может отменить другую операцию. Состояние отмены хранится в процессе Explorer.exe, и пока этот процесс выполняется, он может координировать функции отмены.
Если параметр исходного файла не содержит полный путь и имена файлов, этот флаг игнорируется.
FOF_FILESONLY (0x0080)
Выполняйте операцию только с файлами (а не с папками), если указано имя файла с подстановочными знаками (.).
FOF_NOCONFIRMATION (0x0010)
Ответьте да для всех отображаемых диалоговых окон.
FOF_NOCONFIRMMKDIR (0x0200)
Не подтверждать создание новой папки, если операция требует ее создания.
FOF_NO_CONNECTED_ELEMENTS (0x2000)
Не перемещайте подключенные элементы в группу. Перемещайте только указанные файлы.
FOF_NOCOPYSECURITYATTRIBS (0x0800)
Не копируйте атрибуты безопасности элемента.
FOF_NOERRORUI (0x0400)
Не отображайте сообщение для пользователя при возникновении ошибки. Если этот флаг установлен без FOFX_EARLYFAILURE, любая ошибка обрабатывается так, как если бы пользователь выбрал пропустить или продолжить в диалоговом окне. Он останавливает текущее действие, устанавливает флаг, указывающий, что действие было прервано, и продолжает оставшуюся часть операции.
FOF_NORECURSION (0x1000)
Работать только в локальной папке. Не избежать рекурсивной работы в подкаталогах.
FOF_RENAMEONCOLLISION (0x0008)
Присвойте элементу новое имя в операции перемещения, копирования или переименования, если элемент с целевым именем уже существует.
FOF_SILENT (0x0004)
Диалоговое окно хода выполнения не отображается.
FOF_WANTNUKEWARNING (0x4000)
Отправьте предупреждение, если файл или папка уничтожаются во время операции удаления, а не перезапускается. Этот флаг частично переопределяет FOF_NOCONFIRMATION.
FOFX_ADDUNDORECORD (0x20000000)
Представлено в Windows 8. Операция с файлом была вызвана пользователем и должна быть помещена в стек отмены. Этот флаг предпочтителен для FOF_ALLOWUNDO.
FOFX_NOSKIPJUNCTIONS (0x00010000)
Перейдите к разделу Соединения пространств имен оболочки. По умолчанию соединения не вводятся. Дополнительные сведения о соединениях см. в разделе Указание расположения расширения пространства имен.
FOFX_PREFERHARDLINK (0x00020000)
По возможности создайте жесткую ссылку, а не новый экземпляр файла в назначении.
FOFX_SHOWELEVATIONPROMPT (0x00040000)
Если для операции требуются повышенные права, а для флага FOF_NOERRORUI задано отключение пользовательского интерфейса ошибки, все равно отобразится запрос пользовательского интерфейса UAC.
FOFX_EARLYFAILURE (0x00100000)
Если FOFX_EARLYFAILURE заданы вместе с FOF_NOERRORUI, весь набор операций останавливается при обнаружении любой ошибки в любой операции. Этот флаг действителен, только если задано FOF_NOERRORUI.
FOFX_PRESERVEFILEEXTENSIONS (0x00200000)
Переименуйте конфликты таким образом, чтобы сохранить расширения имен файлов. Этот флаг действителен, только если задано FOF_RENAMEONCOLLISION.
FOFX_KEEPNEWERFILE (0x00400000)
При возникновении конфликта сохраните новый файл или папку на основе свойства Дата изменения. Это выполняется автоматически без пользовательского интерфейса запроса.
FOFX_NOCOPYHOOKS (0x00800000)
Не используйте перехватчики копирования.
FOFX_NOMINIMIZEBOX (0x01000000)
Не допускайте свертывание диалогового окна хода выполнения.
FOFX_MOVEACLSACROSSVOLUMES (0x02000000)
Скопируйте атрибуты безопасности исходного элемента в целевой элемент при выполнении операции перемещения между томами. Без этого флага целевой элемент получает атрибуты безопасности своей новой папки.
FOFX_DONTDISPLAYSOURCEPATH (0x04000000)
Не отображайте путь к исходному элементу в диалоговом окне хода выполнения.
FOFX_DONTDISPLAYDESTPATH (0x08000000)
Не отображайте путь к целевому элементу в диалоговом окне хода выполнения.
FOFX_RECYCLEONDELETE (0x00080000)
Представлено в Windows 8. При удалении файла отправьте его в корзину, а не окончательно.
FOFX_REQUIREELEVATION (0x10000000)
Представлено в Windows Vista с пакетом обновления 1 (SP1). Пользователь ожидает требования для повышения прав, поэтому не выводит диалоговое окно с запросом подтверждения повышения прав.
FOFX_COPYASDOWNLOAD (0x40000000)
Представлено в Windows 7. В диалоговом окне хода выполнения отображается сообщение "Скачивание " вместо копирования .
FOFX_DONTDISPLAYLOCATIONS (0x80000000)
Представлено в Windows 7. Не отображайте строку расположения в диалоговом окне хода выполнения.
Возвращаемое значение
Тип: HRESULT
Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Установите эти флаги перед вызовом IFileOperation::P erformOperations , чтобы определить параметры для любых выполняемых операций, таких как копирование, удаление или переименование.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista, Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | shobjidl_core.h (включая Shobjidl.h) |