IBackgroundCopyCallback::JobError 메서드(bits.h)
BITS는 작업 상태가 BG_JOB_STATE_ERROR 변경되면 JobError 메서드의 구현을 호출합니다.
구문
HRESULT JobError(
[in] IBackgroundCopyJob *pJob,
[in] IBackgroundCopyError *pError
);
매개 변수
[in] pJob
오류가 발생하기 전에 전송된 바이트 및 파일 수와 같은 작업 관련 정보를 포함합니다. 또한 작업을 다시 시작하고 취소하는 메서드도 포함되어 있습니다. pJob을 해제하지 마세요. BITS는 JobError 메서드가 반환될 때 인터페이스를 해제합니다.
[in] pError
치명적인 오류가 발생했을 때 처리되는 파일 및 오류에 대한 설명과 같은 오류 정보를 포함합니다. pError를 해제하지 마세요. BITS는 JobError 메서드가 반환될 때 인터페이스를 해제합니다.
반환 값
이 메서드는 S_OK 반환해야 합니다. 그렇지 않으면 BITS는 S_OK 반환될 때까지 이 메서드를 계속 호출합니다. 성능상의 이유로 S_OK 이외의 값을 반환하는 횟수를 몇 번으로 제한해야 합니다. 오류 코드를 반환하는 대신 항상 S_OK 반환하고 내부적으로 오류를 처리하는 것이 좋습니다. 이 메서드가 호출되는 간격은 임의입니다.
이 메서드가 실패하고 IBackgroundCopyJob2::SetNotifyCmdLine 메서드를 호출하면 명령줄이 실행되고 이 메서드가 다시 호출되지 않습니다.
설명
오류의 원인을 확인한 후 다음 옵션 중 하나를 수행합니다.
- 작업을 취소하려면 IBackgroundCopyJob::Cancel 메서드를 호출합니다. 파일이 성공적으로 업로드된 후 오류가 발생한 경우 취소 요청은 업로드 작업에 영향을 주지 않습니다. 그러나 작업 유형이 BG_JOB_TYPE_UPLOAD_REPLY 업로드에 성공한 경우 Cancel 메서드를 호출하면 회신 데이터에 대한 요청이 취소됩니다.
- 오류가 발생하기 전에 성공적으로 전송된 작업의 일부를 수락하려면 IBackgroundCopyJob::Complete 메서드를 호출합니다. 이 옵션은 업로드 작업에는 적용되지 않습니다. 업로드 작업의 일부를 완료할 수 없습니다.
- 작업 처리를 완료하려면 문제를 해결한 다음 IBackgroundCopyJob::Resume 메서드를 호출합니다.
일시적인 오류는 JobError 메서드에 대한 호출을 생성하지 않습니다.
업로드 회신 작업의 업로드, 회신 또는 서버 애플리케이션 부분이 실패했는지 여부를 확인하려면 IBackgroundCopyError::GetError 메서드를 호출하여 오류가 발생한 컨텍스트 를 검색합니다. 컨텍스트가 BG_ERROR_CONTEXT_REMOTE_APPLICATION 경우 서버 애플리케이션이 실패했습니다. 업로드 및 회신에 대한 컨텍스트는 BG_ERROR_CONTEXT_REMOTE_FILE. BG_JOB_REPLY_PROGRESS 구조체의 BytesTotal 멤버가 BG_SIZE_UNKNOWN 않으면 회신이 실패했습니다. 그렇지 않으면 업로드에 실패했습니다.
예제
IBackgroundCopyCallback 인터페이스에 대한 예제 코드를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP |
지원되는 최소 서버 | Windows Server 2003 |
대상 플랫폼 | Windows |
헤더 | bits.h |