IBackgroundCopyJob::GetError 메서드(bits.h)
오류가 발생한 후 오류 인터페이스를 검색합니다.
BITS는 작업 상태가 BG_JOB_STATE_ERROR 또는 BG_JOB_STATE_TRANSIENT_ERROR 때 오류 개체를 생성합니다. IBackgroundCopyXXXX 인터페이스 메서드에 대한 호출이 실패하면 서비스에서 오류 개체를 만들지 않습니다. 오류 개체는 BITS가 작업에 대한 데이터 전송(작업 상태가 BG_JOB_STATE_TRANSFERRING 변경됨)을 시작하거나 애플리케이션이 종료될 때까지 사용할 수 있습니다.
구문
HRESULT GetError(
[out] IBackgroundCopyError **ppError
);
매개 변수
[out] ppError
오류 코드, 오류에 대한 설명 및 오류가 발생한 컨텍스트를 제공하는 오류 인터페이스입니다. 또한 이 매개 변수는 오류가 발생했을 때 전송되는 파일을 식별합니다. 완료되면 ppError를 릴리스합니다.
반환 값
이 메서드는 다음 HRESULT 값과 다른 값을 반환합니다.
반환 코드 | 설명 |
---|---|
|
오류 개체를 성공적으로 생성했습니다. |
|
오류 인터페이스는 오류가 발생한 후(BG_JOB_STATE_ERROR 또는 BG_JOB_STATE_TRANSIENT_ERROR) BITS가 데이터 전송(BG_JOB_STATE_TRANSFERRING)을 시작하기 전에만 사용할 수 있습니다. |
설명
이 작업은 심각한 오류 또는 일시적인 오류에 대해 진행 없음 시간 제한 기간이 만료된 후 오류 상태에 배치됩니다(이 기간은 GetNoProgressTimeout 메서드에서 검색됨). 다음 옵션 중 하나를 사용하여 작업이 오류인지 확인합니다.
- 작업의 상태를 폴링하려면 IBackgroundCopyJob::GetState 메서드를 호출합니다. 상태가 BG_JOB_STATE_ERROR 경우 작업이 잘못되었습니다.
- 오류가 발생할 때 알림을 받으려면 IBackgroundCopyCallback 인터페이스(특히 JobError 메서드)를 구현합니다. 그런 다음 , IBackgroundCopyJob::SetNotifyInterface 메서드를 호출하여 콜백을 등록하고 IBackgroundCopyJob::SetNotifyFlags 메서드를 호출하여 BG_NOTIFY_JOB_ERROR 플래그를 설정합니다.
- 작업을 취소하려면 IBackgroundCopyJob::Cancel 메서드를 호출합니다.
- 오류가 발생하기 전에 성공적으로 전송된 파일을 저장하려면 IBackgroundCopyJob::Complete 메서드를 호출합니다.
- 작업 처리를 완료하려면 문제를 해결한 다음 IBackgroundCopyJob::Resume 메서드를 호출합니다.
업로드-회신 작업의 업로드, 회신 또는 서버 애플리케이션 부분이 실패했는지 여부를 확인하려면 IBackgroundCopyError::GetError 메서드를 호출하여 오류가 발생한 컨텍스트 를 검색합니다. 컨텍스트가 BG_ERROR_CONTEXT_REMOTE_APPLICATION 경우 서버 애플리케이션이 실패했습니다. 업로드 또는 회신과 함께 오류가 발생하면 컨텍스트가 BG_ERROR_CONTEXT_REMOTE_FILE. BG_JOB_REPLY_PROGRESS 구조체의 BytesTotal 멤버가 BG_SIZE_UNKNOWN 경우 업로드에 실패했습니다. 그렇지 않으면 회신에 실패했습니다.
예제
오류 처리 항목의 예제 코드를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP |
지원되는 최소 서버 | Windows Server 2003 |
대상 플랫폼 | Windows |
헤더 | bits.h |
라이브러리 | Bits.lib |
DLL | QmgrPrxy.dll |