Skip to main content

WdRemoteCopy

로컬 PC와 원격 기기 간에 파일을 복사합니다.

구문

매개 변수

_In_z_ remoteDevice
형식: const char*
원격 기기의 호스트 이름 또는 IP 주소입니다(예: "192.168.1.100" 또는 "MyDevKit"). _In_z_ sourcePath
형식: const char*
복사할 원본 경로입니다(예: 원격 기기로 복사할 때는 "C:\\builds\\MyGame"). _In_z_ destinationPath
형식: const char*
복사할 대상 경로입니다. 절대 경로(예: "D:\\Games\\MyGame")이거나 공통 루트를 기준으로 확인되는 상대 경로(예: "MyGame")일 수 있습니다. _In_opt_ copyOptions
형식: const WdCopyOptions*
선택 사항. 복사 방향과 공통 루트 별칭을 지정합니다. 기본 설정(CopyTo, destinationPath가 상대 경로인 경우 기본 공통 루트 위치)을 사용하려면 nullptr을 전달하세요. _In_opt_ searchOptions
형식: const WdCopySearchOptions*
선택 사항. 파일 포함/제외 패턴과 특성 필터를 지정합니다(예: 실행 파일만 복사하려면 "*.exe;*.dll"). 모든 파일을 복사하려면 nullptr을 전달하세요. _In_opt_ statusCallbacks
형식: const WdCopyStatusCallbacks*
선택 사항. 복사 작업 중 진행률 업데이트와 진단 메시지를 받기 위한 콜백 함수를 지정합니다. 콜백을 받지 않으려면 nullptr을 전달하세요. _In_opt_ cancellationHandle
형식: WdCancellationHandle
선택 사항. WdCreateCancellationHandle로 생성된 취소 핸들이며, 복사 작업을 취소하기 위해 별도의 스레드에서 WdCancelRemoteCopy에 전달할 수 있습니다. 취소가 필요하지 않으면 nullptr을 전달하세요.

반환 값

형식: HRESULT 성공 시 S_OK를 반환하고, 그렇지 않으면 오류 코드를 반환합니다.

오류 코드

설명

WdRemoteCopy는 동기 블로킹 호출입니다. 모든 파일이 복사되거나, WdCancelRemoteCopy를 통해 작업이 취소되거나, 오류가 발생할 때까지 반환되지 않습니다. 취소를 활성화하려면 WdRemoteCopy를 호출하기 전에 WdCreateCancellationHandle을 사용해 WdCancellationHandle을 생성한 다음, 별도의 스레드에서 WdCancelRemoteCopy에 전달하세요. WdRemoteCopy가 반환된 후에는 WdCloseCancellationHandle로 핸들을 닫으세요. 이 함수는 양방향 복사를 지원할 예정이지만, CopyFrom은 현재 구현되지 않았으며 사용 시 E_NOTIMPL을 반환합니다. 로컬 PC에서 원격 기기로 파일을 푸시하려면 WdCopyDirection::CopyTo를 사용하세요. 기본 방향은 CopyTo입니다. destinationPath가 절대 경로이면 WdCopyOptionscommonRootAlias는 무시됩니다. destinationPath가 상대 경로이면 commonRootAlias가 지정되지 않은 경우 기본 공통 루트 위치가 사용됩니다. 복사 중 진행률 업데이트를 받으려면 콜백 함수 포인터가 포함된 WdCopyStatusCallbacks 구조체를 제공하세요.
대상 기기나 대상 경로에 관계없이 한 번에 하나의 WdRemoteCopy 호출만 활성화할 수 있습니다. 다른 복사가 이미 진행 중일 때 WdRemoteCopy를 호출하면 정의되지 않은 동작이 발생합니다.
WdRemoteCopy는 실패 시 자동으로 재시도하지 않습니다. 네트워크 중단으로 인해 작업이 실패한 경우, 호출자는 WdRemoteCopy를 다시 호출해야 합니다. 실패 이전에 성공적으로 복사된 파일은 대상에 남아 있습니다. 델타 복사 동작 덕분에 재시도 시 불완전하거나 누락된 파일만 다시 전송됩니다. 시간 초과는 없습니다. 완료되거나, 오류가 발생하거나, 취소될 때까지 복사가 계속됩니다.

예제

예제 1: 기본 파일 복사

기본 설정을 사용하여 로컬 빌드 폴더를 원격 기기로 복사합니다. 필터링, 진행률 보고 또는 취소 지원 없이 모든 파일이 복사됩니다.

예제 2: 진행률 보고와 함께 필터링된 복사

디버그 아티팩트와 중간 디렉터리를 건너뛰면서 특정 파일 형식만 복사합니다. 진행률 콜백은 실시간 전송 상태를 콘솔에 출력합니다.

요구 사항

함께 보기

마지막 수정일 2026년 8월 24일