Método IBackgroundCopyJob::Complete (bits.h)
Encerra o trabalho e salva os arquivos transferidos no cliente.
Sintaxe
HRESULT Complete();
Retornar valor
Esse método retorna os seguintes valores HRESULT . O método também pode retornar erros relacionados à renomeação das cópias temporárias dos arquivos transferidos para seus nomes determinados.
Código de retorno | Descrição |
---|---|
|
Todos os arquivos transferidos com êxito. |
|
Um subconjunto dos arquivos transferidos com êxito. |
|
O trabalho foi concluído com êxito; no entanto, o serviço não pôde excluir os arquivos temporários associados ao trabalho. |
|
Para downloads, o estado do trabalho não pode ser BG_JOB_STATE_CANCELLED ou BG_JOB_STATE_ACKNOWLEDGED.
Para uploads, o estado do trabalho deve ser BG_JOB_STATE_TRANSFERRED. |
Comentários
Os arquivos de download não estarão disponíveis até que você chame o método Complete . Chame o método Complete depois que o BITS transferir os arquivos com êxito. O método renomeia os arquivos de download temporários para seus nomes de destino finais e remove o trabalho da fila. Observe que o BITS renomeia o arquivo de upload temporário quando o servidor recebe o último fragmento, e é por isso que os trabalhos de download exigem conectividade de rede e trabalhos de upload não.
Todos os arquivos foram transferidos com êxito se o estado do trabalho for BG_JOB_STATE_TRANSFERRED. Para marcar o estado do trabalho, chame o método IBackgroundCopyJob::GetState. Você também pode implementar a interface IBackgroundCopyCallback para receber notificação quando todos os arquivos forem transferidos para o cliente.
Se você não chamar o método Complete ou o método IBackgroundCopyJob::Cancel dentro de 90 dias (jobInactivityTimeout padrão Política de Grupo), o serviço cancelará o trabalho. Se o serviço cancelar o trabalho, os arquivos baixados e o arquivo de resposta não estarão disponíveis para o cliente; O cancelamento de trabalho não afeta os arquivos que foram carregados com êxito.
O BITS removerá o trabalho da fila de transferência se o HRESULT for S_OK ou BG_S_PARTIAL_COMPLETE. O trabalho permanecerá na fila de transferência se o BITS não puder renomear todos os arquivos temporários. Os arquivos que foram renomeados com êxito estão disponíveis para o usuário. O trabalho permanece na fila (o estado é BG_JOB_STATE_TRANSFERRED) até que o aplicativo seja capaz de corrigir o problema e chame o método Complete novamente ou o método IBackgroundCopyJob::Cancel para cancelar o trabalho. Para determinar quais arquivos não foram renomeados para trabalhos de download, consulte o membro Concluído da estrutura BG_FILE_PROGRESS .
Para trabalhos de download, você pode chamar o método Complete a qualquer momento durante o processo de transferência; no entanto, somente os arquivos que foram transferidos com êxito para o cliente antes de chamar esse método são salvos. Por exemplo, se você chamar o método Complete enquanto o BITS estiver processando o terceiro de cinco arquivos, somente os dois primeiros arquivos serão salvos. Para determinar quais arquivos foram transferidos, chame o método IBackgroundCopyFile::GetProgress e compare o membro BytesTransferred com o membro BytesTotal da estrutura BG_FILE_PROGRESS .
Para trabalhos de upload, você pode chamar o método Complete somente quando o estado do trabalho for BG_JOB_STATE_TRANSFERRED.
O BITS não garante a integridade dos arquivos transferidos contra invasões de terceiros. Os clientes podem implementar verificações de integridade para validar arquivos transferidos depois de chamar o método Complete .
O proprietário do arquivo é o usuário que fez a chamada. Por exemplo, se um administrador concluir o trabalho de outra pessoa, o administrador, não o proprietário do trabalho, será o proprietário do arquivo.
BITS 1.2 e anterior: O proprietário do arquivo é o proprietário do trabalho, independentemente de quem chamou o método Complete .
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
Concluindo e cancelando um trabalho