다음을 통해 공유


IBackgroundCopyCallback::JobTransferred 메서드(bits.h)

BITS는 작업의 모든 파일이 성공적으로 전송 되면 JobTransferred 메서드의 구현을 호출합니다. BG_JOB_TYPE_UPLOAD_REPLY 작업의 경우 BITS는 업로드 파일이 서버로 전송되고 회신이 클라이언트로 전송된 후 JobTransferred 메서드를 호출합니다.

구문

HRESULT JobTransferred(
  [in] IBackgroundCopyJob *pJob
);

매개 변수

[in] pJob

작업 완료 시간, 전송된 바이트 수 및 전송된 파일 수와 같은 작업 관련 정보를 포함합니다. pJob을 해제하지 마세요. BITS는 메서드가 반환될 때 인터페이스를 해제합니다.

반환 값

이 메서드는 S_OK 반환해야 합니다. 그렇지 않으면 BITS는 S_OK 반환될 때까지 이 메서드를 계속 호출합니다. 성능상의 이유로 S_OK 이외의 값을 반환하는 횟수를 몇 번으로 제한해야 합니다. 오류 코드를 반환하는 대신 항상 S_OK 반환하고 내부적으로 오류를 처리하는 것이 좋습니다. 이 메서드가 호출되는 간격은 임의입니다.

이 메서드가 실패하고 IBackgroundCopyJob2::SetNotifyCmdLine 메서드를 호출하면 명령줄이 실행되고 이 메서드가 다시 호출되지 않습니다.

설명

일반적으로 구현은 IBackgroundCopyJob::Complete 메서드를 호출하여 BITS가 파일을 성공적으로 전송했음을 확인해야 합니다. Complete 메서드를 호출할 때까지 클라이언트에서 파일 및 회신 파일을 다운로드할 수 없습니다.

Complete 메서드 또는 IBackgroundCopyJob::Cancel 메서드를 90일 이내에 호출하지 않으면(기본 JobInactivityTimeout 그룹 정책) BITS가 작업을 취소하고 다운로드한 파일 및 회신 파일을 삭제합니다. 작업 취소는 성공적으로 업로드된 파일에 영향을 주지 않습니다.

콜백에서 회신 데이터를 검색하려면 IBackgroundCopyJob2 인터페이스에 대한 pJob을 쿼리하고 GetReplyData 메서드를 호출합니다. 회신 데이터가 포함된 파일의 이름을 검색하려면 GetReplyFileName 메서드를 호출합니다.

BITS는 타사 침입에 대해 전송된 파일의 무결성을 보장하지 않습니다. 클라이언트는 Complete 메서드를 호출하기 전에 무결성 검사를 구현하여 전송된 파일의 유효성을 검사할 수 있습니다. 파일이 전송될 때 알림을 받으려면 IBackgroundCopyCallback2::FileTransferred 메서드를 구현합니다. 콜백 내에서 IBackgroundCopyFile3::GetTemporaryName 메서드를 호출하여 다운로드한 콘텐츠가 포함된 임시 파일의 이름을 가져옵니다. 콘텐츠의 유효성을 검사한 다음 IBackgroundCopyFile3::SetValidationState 메서드를 호출하여 콘텐츠가 유효한지 여부를 나타냅니다. 콘텐츠가 유효하지 않고 BITS가 원본 서버에서 파일을 다운로드하면 작업이 오류 상태가 됩니다. 작업이 피어에서 다운로드된 경우 BITS는 원본 서버에서 파일을 다운로드합니다.

참고 BITS는 사용자당 최대 4개의 동시 알림을 지원합니다. 하나 이상의 애플리케이션이 사용자의 4개 알림 모두 반환을 차단하는 경우 하나 이상의 차단 알림이 반환될 때까지 동일한 사용자로 실행되는 애플리케이션은 알림을 받지 않습니다. 콜백이 다른 알림을 차단할 가능성을 줄이려면 구현을 짧게 유지합니다.
 

예제

IBackgroundCopyCallback 인터페이스에 대한 예제 코드를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP
지원되는 최소 서버 Windows Server 2003
대상 플랫폼 Windows
헤더 bits.h

추가 정보

IBackgroundCopyCallback

IBackgroundCopyJob

IBackgroundCopyJob::Cancel

IBackgroundCopyJob::Complete