Método IBackgroundCopyCallback::JobTransferred (bits.h)
O BITS chama a implementação do método JobTransferred quando todos os arquivos no trabalho foram transferidos com êxito. Para trabalhos BG_JOB_TYPE_UPLOAD_REPLY, o BITS chama o método JobTransferred depois que o arquivo de upload é transferido para o servidor e a resposta foi transferida para o cliente.
Sintaxe
HRESULT JobTransferred(
[in] IBackgroundCopyJob *pJob
);
Parâmetros
[in] pJob
Contém informações relacionadas ao trabalho, como a hora em que o trabalho foi concluído, o número de bytes transferidos e o número de arquivos transferidos. Não liberar pJob; O BITS libera a interface quando o método retorna.
Retornar valor
Esse método deve retornar S_OK; caso contrário, o BITS continuará a chamar esse método até que S_OK seja retornado. Por motivos de desempenho, você deve limitar o número de vezes que retorna um valor diferente de S_OK para algumas vezes. Como alternativa ao retorno de um código de erro, considere sempre retornar S_OK e lidar com o erro internamente. O intervalo no qual esse método é chamado é arbitrário.
Observe que, se esse método falhar e você chamar o método IBackgroundCopyJob2::SetNotifyCmdLine , a linha de comando será executada e esse método não será chamado novamente.
Comentários
Normalmente, sua implementação deve chamar o método IBackgroundCopyJob::Complete para reconhecer que o BITS transferiu os arquivos com êxito. Os arquivos de download e o arquivo de resposta não estarão disponíveis no cliente até que você chame o método Complete .
Se você não chamar o método Complete ou o método IBackgroundCopyJob::Cancel dentro de 90 dias (Política de Grupo JobInactivityTimeout padrão), o BITS cancelará o trabalho e excluirá os arquivos baixados e o arquivo de resposta; o cancelamento do trabalho não afetará os arquivos que foram carregados com êxito.
Se você quiser recuperar os dados de resposta em seu retorno de chamada, consulte pJob para a interface IBackgroundCopyJob2 e chame seu método GetReplyData . Para recuperar o nome do arquivo que contém os dados de resposta, chame o método GetReplyFileName .
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 antes de chamar o método Complete . Para receber notificação quando um arquivo é transferido, implemente o método IBackgroundCopyCallback2::FileTransferred . Dentro do retorno de chamada, chame o método IBackgroundCopyFile3::GetTemporaryName para obter o nome do arquivo temporário que contém o conteúdo baixado. Valide o conteúdo e chame o método IBackgroundCopyFile3::SetValidationState para indicar se o conteúdo é válido. Se o conteúdo não for válido e o BITS tiver baixado o arquivo do servidor de origem, o trabalho entrará no estado de erro. Se o trabalho tiver sido baixado de um par, o BITS baixará o arquivo do servidor de origem.
Exemplos
Consulte o código de exemplo para a interface IBackgroundCopyCallback .
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 |