IBackgroundCopyJob::Complete 메서드(bits.h)
작업을 종료하고 전송된 파일을 클라이언트에 저장합니다.
구문
HRESULT Complete();
반환 값
이 메서드는 다음 HRESULT 값을 반환합니다. 메서드는 전송된 파일의 임시 복사본 이름을 지정된 이름으로 바꾸는 데 관련된 오류를 반환할 수도 있습니다.
반환 코드 | 설명 |
---|---|
|
모든 파일이 성공적으로 전송되었습니다. |
|
성공적으로 전송된 파일의 하위 집합입니다. |
|
작업이 성공적으로 완료되었습니다. 그러나 서비스에서 작업과 연결된 임시 파일을 삭제할 수 없습니다. |
|
다운로드의 경우 작업 상태를 BG_JOB_STATE_CANCELLED 또는 BG_JOB_STATE_ACKNOWLEDGED 수 없습니다.
업로드의 경우 작업의 상태가 BG_JOB_STATE_TRANSFERRED 합니다. |
설명
Complete 메서드를 호출할 때까지 다운로드 파일을 사용할 수 없습니다. BITS가 파일을 성공적으로 전송한 후 Complete 메서드를 호출합니다. 메서드는 임시 다운로드 파일의 이름을 최종 대상 이름으로 바꾸고 큐에서 작업을 제거합니다. BITS는 서버가 마지막 조각을 수신할 때 임시 업로드 파일의 이름을 바꿉니다. 따라서 다운로드 작업에는 네트워크 연결이 필요하고 업로드 작업은 필요하지 않습니다.
작업의 상태가 BG_JOB_STATE_TRANSFERRED 경우 모든 파일이 성공적으로 전송되었습니다. 작업 상태를 검사 IBackgroundCopyJob::GetState 메서드를 호출합니다. IBackgroundCopyCallback 인터페이스를 구현하여 모든 파일이 클라이언트로 전송될 때 알림을 받을 수도 있습니다.
Complete 메서드 또는 IBackgroundCopyJob::Cancel 메서드를 90일 이내에 호출하지 않으면(기본 JobInactivityTimeout 그룹 정책) 서비스가 작업을 취소합니다. 서비스가 작업을 취소하면 다운로드한 파일과 회신 파일을 클라이언트에서 사용할 수 없습니다. 작업 취소는 성공적으로 업로드된 파일에 영향을 주지 않습니다.
HRESULT가 S_OK 또는 BG_S_PARTIAL_COMPLETE 경우 BITS는 전송 큐에서 작업을 제거합니다. BITS가 모든 임시 파일의 이름을 바꿀 수 없는 경우 작업은 전송 큐에 남아 있습니다. 이름이 성공적으로 변경된 파일은 사용자가 사용할 수 있습니다. 애플리케이션이 문제를 해결할 수 있고 Complete 메서드를 다시 호출하거나 IBackgroundCopyJob::Cancel 메서드를 호출하여 작업을 취소할 때까지 작업은 큐에 남아 있습니다(상태는 BG_JOB_STATE_TRANSFERRED). 다운로드 작업에 대해 이름이 바뀌지 않은 파일을 확인하려면 BG_FILE_PROGRESS 구조의 Completed 멤버를 참조하세요.
다운로드 작업의 경우 전송 프로세스 중에 언제든지 Complete 메서드를 호출할 수 있습니다. 그러나 이 메서드를 호출하기 전에 클라이언트로 성공적으로 전송된 파일만 저장됩니다. 예를 들어 BITS가 5개 파일 중 세 번째 파일을 처리하는 동안 Complete 메서드를 호출하면 처음 두 개의 파일만 저장됩니다. 전송된 파일을 확인하려면 IBackgroundCopyFile::GetProgress 메서드를 호출하고 BytesTransferred 멤버를 BG_FILE_PROGRESS 구조체의 BytesTotal 멤버와 비교합니다.
업로드 작업의 경우 작업의 상태가 BG_JOB_STATE_TRANSFERRED 경우에만 Complete 메서드를 호출할 수 있습니다.
BITS는 타사 침입에 대해 전송된 파일의 무결성을 보장하지 않습니다. 클라이언트는 Complete 메서드를 호출한 후 전송된 파일의 유효성을 검사하기 위해 무결성 검사를 구현할 수 있습니다.
파일의 소유자는 호출한 사용자입니다. 예를 들어 관리자가 다른 사람의 작업을 완료하면 작업 소유자가 아닌 관리자가 파일을 소유합니다.
BITS 1.2 이하: 파일의 소유자는 Complete 메서드를 호출한 사용자에 관계없이 작업의 소유자입니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP |
지원되는 최소 서버 | Windows Server 2003 |
대상 플랫폼 | Windows |
헤더 | bits.h |
라이브러리 | Bits.lib |
DLL | QmgrPrxy.dll |