Compartilhar via


Método IBackgroundCopyJob::GetError (bits.h)

Recupera a interface de erro após ocorrer um erro.

O BITS gera um objeto de erro quando o estado do trabalho é BG_JOB_STATE_ERROR ou BG_JOB_STATE_TRANSIENT_ERROR. O serviço não cria um objeto de erro quando uma chamada para um método de interface IBackgroundCopyXXXX falha. O objeto de erro está disponível até que o BITS comece a transferir dados (o estado do trabalho muda para BG_JOB_STATE_TRANSFERRING) para o trabalho ou até que seu aplicativo seja encerrado.

Sintaxe

HRESULT GetError(
  [out] IBackgroundCopyError **ppError
);

Parâmetros

[out] ppError

Interface de erro que fornece o código de erro, uma descrição do erro e o contexto no qual o erro ocorreu. Esse parâmetro também identifica o arquivo que está sendo transferido no momento em que o erro ocorreu. Liberar ppError quando terminar.

Valor de retorno

Esse método retorna os seguintes valores HRESULT , bem como outros.

Código de retorno Description
S_OK
O objeto de erro foi gerado com êxito.
BG_E_ERROR_INFORMATION_UNAVAILABLE
A interface de erro só está disponível após ocorrer um erro (BG_JOB_STATE_ERROR ou BG_JOB_STATE_TRANSIENT_ERROR) e antes de o BITS começar a transferir dados (BG_JOB_STATE_TRANSFERRING).

Observações

O trabalho é colocado em um estado de erro em erros fatais ou após o período de tempo limite sem progresso expirar para erros transitórios (esse período é recuperado do método GetNoProgressTimeout ). Use uma das seguintes opções para determinar se o trabalho está em erro:

A interface IBackgroundCopyError contém informações que você usa para determinar a causa do erro e se o processo de transferência pode continuar. Depois de determinar a causa do erro, execute uma das seguintes opções: Se o trabalho permanecer em um estado de erro por 90 dias (Política de Grupo JobInactivityTimeout padrão), o serviço removerá o trabalho da fila e excluirá os arquivos temporários no cliente; A exclusão de trabalho não afeta os arquivos que foram carregados com êxito.

Para determinar se a parte do aplicativo de upload, resposta ou servidor de um trabalho de upload-resposta falhou, chame o método IBackgroundCopyError::GetError para recuperar o contexto no qual o erro ocorreu. O aplicativo do servidor falhará se o contexto for BG_ERROR_CONTEXT_REMOTE_APPLICATION. Se o erro estiver com o upload ou a resposta, o contexto será BG_ERROR_CONTEXT_REMOTE_FILE. O upload falhará se o membro BytesTotal da estrutura de BG_JOB_REPLY_PROGRESS estiver BG_SIZE_UNKNOWN. Caso contrário, a resposta falhou.

Exemplos

Consulte o código de exemplo no tópico Tratamento de Erros .

Requirements

Requirement Value
Cliente mínimo suportado Windows XP
Servidor mínimo compatível Windows Server 2003
da Plataforma de Destino Windows
Header bits.h
Library Bits.lib
de DLL QmgrPrxy.dll

Consulte também

IBackgroundCopyCallback::JobError

IBackgroundCopyError

IBackgroundCopyJob::GetState