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 |
---|---|
|
O objeto de erro foi gerado com êxito. |
|
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:
- Para sondar o estado do trabalho, chame o método IBackgroundCopyJob::GetState . O trabalho estará com erro se o estado for BG_JOB_STATE_ERROR.
- Para receber notificação quando ocorrer um erro, implemente a interface IBackgroundCopyCallback (especificamente, o método JobError ). Em seguida, chame o método IBackgroundCopyJob::SetNotifyInterface para registrar o retorno de chamada e o método IBackgroundCopyJob::SetNotifyFlags para definir o sinalizador BG_NOTIFY_JOB_ERROR.
- Para cancelar o trabalho, chame o método IBackgroundCopyJob::Cancel .
- Para salvar os arquivos transferidos com êxito antes do erro ocorrer, chame o método IBackgroundCopyJob::Complete .
- Para concluir o processamento do trabalho, corrija o problema e chame o método IBackgroundCopyJob::Resume .
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 |