Метод 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 .
[out] ppsiNew
Тип: IShellItem**
При успешном выполнении этого метода содержит адрес указателя на IShellItem в новом расположении.
Возвращаемое значение
Тип: HRESULT
Возвращает S_OK , если перемещение выполнено успешно. В этом случае ppsiNew указывает на адрес нового элемента. Ниже перечислены другие возможные возвращаемые значения, как успешные, так и неудачные коды.
Код возврата | Описание |
---|---|
|
Конечный элемент уже существует и не был перезаписан. В этом случае параметр ppsiNew имеет значение NULL , и вызывающий объект должен удалить исходный элемент. |
|
Конечный элемент уже существует, и пользователь решил объединить исходную и целевую папки. В этом случае ppsiNew указывает на значение NULL , и вызывающий объект должен удалить исходный элемент. |
|
Если перемещаемый элемент является папкой, вызывающий объект должен преобразовать операцию перемещения в операцию копирования и удаления. |
|
Вызывающий объект должен преобразовать операцию перемещения в операцию копирования и удаления. Эта ошибка рассматривается как HRESULT_FROM_WIN32(ERROR_NOT_SAME_DEVICE) .
|
|
При перемещении папки вызывающий объект должен преобразовать операцию перемещения в операцию копирования и удаления. Конечный элемент должен поддерживать ITransferDestination. Эта ошибка рассматривается как HRESULT_FROM_WIN32(ERROR_FILE_EXISTS) .
|
|
При перемещении папки вызывающий объект должен преобразовать операцию перемещения в операцию копирования и удаления. Конечный элемент должен поддерживать ITransferDestination. Эта ошибка рассматривается как HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS) .
|
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | shobjidl_core.h (включая Shobjidl.h) |