Поделиться через


Метод ITransferSource::MoveItem (shobjidl_core.h)

Перемещает элемент в пределах тома или пространства имен, возвращая IShellItem в новое расположение.

Синтаксис

HRESULT MoveItem(
  [in]  IShellItem            *psi,
  [in]  IShellItem            *psiParentDst,
  [in]  LPCWSTR               pszNameDst,
        TRANSFER_SOURCE_FLAGS flags,
  [out] IShellItem            **ppsiNew
);

Параметры

[in] psi

Тип: IShellItem*

Указатель на перемещаемую среду IShellItem .

[in] psiParentDst

Тип: IShellItem*

Указатель на элемент IShellItem , представляющий новый родительский элемент в месте назначения.

[in] pszNameDst

Тип: LPCWSTR

Указатель на буфер, завершающийся нулевым значением, который содержит путь назначения.

flags

Тип: TRANSFER_SOURCE_FLAGS

Флаги, управляющие операцией с файлом. Одна или несколько констант TRANSFER_SOURCE_FLAGS .

[out] ppsiNew

Тип: IShellItem**

При успешном выполнении этого метода содержит адрес указателя на IShellItem в новом расположении.

Возвращаемое значение

Тип: HRESULT

Возвращает S_OK , если перемещение выполнено успешно. В этом случае ppsiNew указывает на адрес нового элемента. Ниже перечислены другие возможные возвращаемые значения, как успешные, так и неудачные коды.

Код возврата Описание
COPYENGINE_S_USER_IGNORED
Конечный элемент уже существует и не был перезаписан. В этом случае параметр ppsiNew имеет значение NULL , и вызывающий объект должен удалить исходный элемент.
COPYENGINE_S_MERGE
Конечный элемент уже существует, и пользователь решил объединить исходную и целевую папки. В этом случае ppsiNew указывает на значение NULL , и вызывающий объект должен удалить исходный элемент.
E_NOINTERFACE
Если перемещаемый элемент является папкой, вызывающий объект должен преобразовать операцию перемещения в операцию копирования и удаления.
ERROR_NOT_SAME_DEVICE
Вызывающий объект должен преобразовать операцию перемещения в операцию копирования и удаления. Эта ошибка рассматривается как HRESULT_FROM_WIN32(ERROR_NOT_SAME_DEVICE).
ERROR_FILE_EXISTS
При перемещении папки вызывающий объект должен преобразовать операцию перемещения в операцию копирования и удаления. Конечный элемент должен поддерживать ITransferDestination. Эта ошибка рассматривается как HRESULT_FROM_WIN32(ERROR_FILE_EXISTS).
ERROR_ALREADY_EXISTS
При перемещении папки вызывающий объект должен преобразовать операцию перемещения в операцию копирования и удаления. Конечный элемент должен поддерживать ITransferDestination. Эта ошибка рассматривается как HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS).

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header shobjidl_core.h (включая Shobjidl.h)