다음을 통해 공유


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 는 새 항목의 주소를 가리킵니다. 성공 코드와 실패 코드 모두에 가능한 다른 반환 값은 다음과 같습니다.

반환 코드 설명
COPYENGINE_S_USER_IGNORED
대상 항목이 이미 있으며 덮어쓰지 않았습니다. 이 경우 ppsiNewNULL 이고 호출자는 원본 항목을 삭제해야 합니다.
COPYENGINE_S_MERGE
대상 항목이 이미 있고 사용자가 원본 및 대상 폴더를 병합하도록 선택했습니다. 이 경우 ppsiNewNULL 값을 가리키고 호출자는 원본 항목을 삭제해야 합니다.
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 포함)