Método ITransferSource::MoveItem (shobjidl_core.h)

Mueve el elemento dentro del volumen o espacio de nombres, devolviendo el objeto IShellItem en su nueva ubicación.

Sintaxis

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

Parámetros

[in] psi

Tipo: IShellItem*

Puntero al IShellItem que se va a mover.

[in] psiParentDst

Tipo: IShellItem*

Puntero al IShellItem que representa el nuevo elemento primario en el destino.

[in] pszNameDst

Tipo: LPCWSTR

Puntero a un búfer terminado en null que contiene la ruta de acceso de destino.

flags

Tipo: TRANSFER_SOURCE_FLAGS

Marcas que controlan la operación de archivo. Una o varias de las constantes de TRANSFER_SOURCE_FLAGS .

[out] ppsiNew

Tipo: IShellItem**

Cuando este método se devuelve correctamente, contiene una dirección de un puntero al IShellItem en su nueva ubicación.

Valor devuelto

Tipo: HRESULT

Devuelve S_OK si el movimiento se realizó correctamente. En ese caso, ppsiNew apunta a la dirección del nuevo elemento. Otros valores devueltos posibles, tanto los códigos correctos como los de error, incluyen lo siguiente:

Código devuelto Descripción
COPYENGINE_S_USER_IGNORED
El elemento de destino ya existe y no se ha sobrescrito. En este caso, ppsiNew es NULL y el autor de la llamada debe eliminar el elemento de origen.
COPYENGINE_S_MERGE
El elemento de destino ya existe y el usuario ha elegido combinar las carpetas de origen y destino. En este caso, ppsiNew apunta a un valor NULL y el autor de la llamada debe eliminar el elemento de origen.
E_NOINTERFACE
Cuando el elemento que se mueve es una carpeta, el autor de la llamada debe convertir una operación de movimiento en una operación de copia y eliminación.
ERROR_NOT_SAME_DEVICE
El autor de la llamada debe convertir una operación de movimiento en una operación de copia y eliminación. Este error se ve como HRESULT_FROM_WIN32(ERROR_NOT_SAME_DEVICE).
ERROR_FILE_EXISTS
Al mover una carpeta, el autor de la llamada debe convertir la operación de traslado en una operación de copia y eliminación. El elemento de destino debe admitir ITransferDestination. Este error se ve como HRESULT_FROM_WIN32(ERROR_FILE_EXISTS).
ERROR_ALREADY_EXISTS
Al mover una carpeta, el autor de la llamada debe convertir la operación de traslado en una operación de copia y eliminación. El elemento de destino debe admitir ITransferDestination. Este error se ve como HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS).

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shobjidl_core.h (include Shobjidl.h)