작업 완료 및 취소

전송 작업을 완료하려면 IBackgroundCopyJob::Complete 메서드를 호출합니다. 다운로드 작업의 경우 작업의 모든 파일이 전송되기 전에 Complete 메서드를 호출할 수 있습니다(작업의 상태가 BG_JOB_STATE_TRANSFERRED 전에). Complete 메서드를 호출하기 전에 BITS가 클라이언트로 성공적으로 전송된 파일만 사용자가 사용할 수 있습니다.

업로드 작업의 경우 작업의 상태가 BG_JOB_STATE_TRANSFERRED 경우에만 Complete 메서드를 호출합니다. 작업의 상태가 BG_JOB_STATE_TRANSFERRED 시기를 확인하려면 작업의 상태 속성을 폴링 하거나 등록하여 BG_NOTIFY_JOB_TRANSFERRED 이벤트 알림을 받습니다.

전송 작업을 취소하려면 IBackgroundCopyJob::Cancel 메서드를 호출합니다. Cancel 메서드는 전송 큐에서 작업을 제거하고 클라이언트에서 임시 파일을 제거합니다. 일반적으로 작업과 관련된 오류를 resolve 수 없는 경우 이 메서드를 호출합니다.

업로드가 완료되지 않은 경우 Cancel 메서드는 업로드를 취소합니다. 업로드가 완료되고 작업이 BG_JOB_TYPE_UPLOAD_REPLY 형식이면 메서드는 회신을 취소합니다.

Complete 메서드 또는 IBackgroundCopyJob::Cancel 메서드를 90일 이내에 호출하지 않으면(기본 JobInactivityTimeout 그룹 정책) 서비스가 작업을 취소합니다. 서비스가 작업을 취소하면 다운로드한 파일과 회신 파일을 클라이언트에서 사용할 수 없습니다. 작업 취소는 성공적으로 업로드된 파일에 영향을 주지 않습니다. 항상 Complete 또는 Cancel 메서드를 호출해야 하며 JobInactivityTimeout 정책을 사용하여 작업을 정리하지 않아야 합니다. MaxJobsPerUser 또는 MaxJobsPerMachine 정책 제한에 도달하면 큐에 남아 있는 작업으로 인해 사용자가 다른 작업을 만들지 못할 수 있습니다.