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

包含目的地路徑之 Null 終止緩衝區的指標。

flags

類型: TRANSFER_SOURCE_FLAGS

控制檔案作業的旗標。 一或多個 TRANSFER_SOURCE_FLAGS 常數。

[out] ppsiNew

類型: IShellItem**

當這個方法成功傳回時,會在其新位置包含 IShellItem 指標的位址。

傳回值

類型: HRESULT

如果移動成功,則傳回 S_OK 。 在此情況下, ppsiNew 會指向新項目的位址。 成功和失敗碼的其他可能傳回值包括下列各項:

傳回碼 Description
COPYENGINE_S_USER_IGNORED
目的地專案已經存在且尚未覆寫。 在此情況下, ppsiNewNULL ,而且呼叫端應該刪除來源專案。
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
標頭 shobjidl_core.h (包含 Shobjidl.h)