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 IBackgroundCopyXXXXX 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 o 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. Solte ppError quando terminar.

Retornar valor

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

Código de retorno Descrição
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 que o BITS comece a transferir dados (BG_JOB_STATE_TRANSFERRING).

Comentários

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á com 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 (jobInactivityTimeout padrão Política de Grupo), o serviço removerá o trabalho da fila e excluirá os arquivos temporários no cliente; a exclusão do trabalho não afetará os arquivos que foram carregados com êxito.

Para determinar se a parte do aplicativo de upload, resposta ou servidor de um trabalho de upload-reply falhou, chame o método IBackgroundCopyError::GetError para recuperar o contexto no qual o erro ocorreu. O aplicativo de servidor falhará se o contexto for BG_ERROR_CONTEXT_REMOTE_APPLICATION. Se o erro for com o upload ou a resposta, o contexto será BG_ERROR_CONTEXT_REMOTE_FILE. O upload falhará se o membro BytesTotal da estrutura 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 .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP
Servidor mínimo com suporte Windows Server 2003
Plataforma de Destino Windows
Cabeçalho bits.h
Biblioteca Bits.lib
DLL QmgrPrxy.dll

Confira também

IBackgroundCopyCallback::JobError

IBackgroundCopyError

IBackgroundCopyJob::GetState