Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Adiciona um único arquivo ao trabalho.
Sintaxe
HRESULT AddFile(
[in] LPCWSTR RemoteUrl,
[in] LPCWSTR LocalName
);
Parâmetros
[in] RemoteUrl
Cadeia de caracteres terminada em nulo que contém o nome do arquivo no servidor. Para obter informações sobre como especificar o nome remoto, consulte o membro RemoteName e a seção Comentários da estrutura BG_FILE_INFO .
[in] LocalName
Cadeia de caracteres terminada em nulo que contém o nome do arquivo no cliente. Para obter informações sobre como especificar o nome local, consulte a seção LocalName member and Remarks da estrutura BG_FILE_INFO .
Valor de retorno
Esse método retorna os seguintes valores HRESULT , bem como outros.
| Código de retorno | Description |
|---|---|
|
O arquivo foi adicionado com êxito ao trabalho. |
|
Trabalhos de upload só podem conter um arquivo; você não pode adicionar outro arquivo ao trabalho. |
|
A configuração de Política de Grupo MaxFilesPerJob determina quantos arquivos um trabalho pode conter. Adicionar o arquivo ao trabalho excede o limite MaxFilesPerJob. |
|
Você pode receber esse erro por um dos seguintes motivos:
|
|
O usuário não tem permissão para gravar no diretório especificado no cliente. |
Observações
Para adicionar mais de um arquivo por vez a um trabalho, chame o método IBackgroundCopyJob::AddFileSet . É mais eficiente chamar o método AddFileSet ao adicionar vários arquivos a um trabalho do que chamar o método AddFile em um loop. Para obter mais informações, consulte Como adicionar arquivos a um trabalho.
Para adicionar um arquivo a um trabalho do qual o BITS baixa intervalos de dados do arquivo, chame o método IBackgroundCopyJob3::AddFileWithRanges .
Trabalhos de upload só podem conter um arquivo. Se você adicionar um segundo arquivo, o método retornará BG_E_TOO_MANY_FILES.
Para downloads, o BITS garante que a versão de um arquivo (com base no tamanho e na data do arquivo, não no conteúdo) que ele transfere será consistente; no entanto, ele não garante que um conjunto de arquivos será consistente. Por exemplo, se o BITS estiver no meio do download do segundo dos dois arquivos no trabalho no momento em que os arquivos são atualizados no servidor, o BITS reiniciará o download do segundo arquivo; no entanto, o primeiro arquivo não será baixado novamente.
Observe que, se você possui o arquivo que está sendo baixado do servidor, deve criar uma nova URL para cada nova versão do arquivo. Se você usar a mesma URL para novas versões do arquivo, alguns servidores proxy poderão fornecer dados obsoletos de seu cache porque eles não verificam com o servidor original se o arquivo está obsoleto.
Para uploads, o BITS gerará um erro se o arquivo local for alterado enquanto o arquivo estiver sendo transferido. O código de erro é BG_E_FILE_CHANGED e o contexto é BG_ERROR_CONTEXT_LOCAL_FILE.
O BITS transfere os arquivos em um trabalho sequencialmente. Se ocorrer um erro durante a transferência de um arquivo, o trabalho será movido para um estado de erro e nenhum arquivo dentro do trabalho será processado até que o erro seja resolvido.
Por padrão, um usuário pode adicionar até 200 arquivos a um trabalho. Esse limite não se aplica a administradores ou contas de serviço. Para alterar o padrão, defina as políticas de grupo MaxFilesPerJob .
Antes do Windows Vista: Não há limite no número de arquivos que um usuário pode adicionar a um trabalho.
Para obter preocupações de escalabilidade, consulte as práticas recomendadas ao usar BITS.
Exemplos
Para obter um exemplo que adiciona um único arquivo a um trabalho, consulte Adicionando arquivos a um trabalho.
Requirements
| Requirement | Value |
|---|---|
| Cliente mínimo suportado | Windows XP |
| Servidor mínimo compatível | Windows Server 2003 |
| da Plataforma de Destino | Windows |
| Header | bits.h |
| Library | Bits.lib |
| de DLL | QmgrPrxy.dll |
Consulte também
IBackgroundCopyJob3::AddFileWithRanges