Método IBackgroundCopyJob::GetError
Recupera a interface de erro após ocorrer um erro.
A Otimização de Entrega 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 a Otimização de Entrega 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
-
ppError [out]
-
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.
Valor retornado
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 a Otimização de Entrega comece a transferir dados (BG_JOB_STATE_TRANSFERRING). |
Comentários
O trabalho é colocado em um estado de erro em erros fatais. Use uma das seguintes opções para determinar se o trabalho está em erro:
- Para sondar o estado do trabalho, chame o método IBackgroundCopyJob::GetState . O trabalho estará em erro se o estado for BG_JOB_STATE_ERROR.
- Para receber uma 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.
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:
- 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 .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows 10, versão 1709 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows Server, versão 1709 [somente aplicativos da área de trabalho] |
Cabeçalho |
|
IDL |
|
Biblioteca |
|
DLL |
|
IID |
IID_IBackgroundCopyJob é definido como 37668D37-507E-4160-9316-26306D150B12 |