Metodo IBackgroundCopyJob::AddFile (bits.h)
Aggiunge un singolo file al processo.
Sintassi
HRESULT AddFile(
[in] LPCWSTR RemoteUrl,
[in] LPCWSTR LocalName
);
Parametri
[in] RemoteUrl
Stringa con terminazione null contenente il nome del file nel server. Per informazioni sulla specifica del nome remoto, vedere la sezione RemoteName member and Notes della struttura BG_FILE_INFO .
[in] LocalName
Stringa con terminazione null contenente il nome del file nel client. Per informazioni sulla specifica del nome locale, vedere la sezione LocalName member and Notes della struttura BG_FILE_INFO .
Valore restituito
Questo metodo restituisce i valori HRESULT seguenti, nonché altri.
Codice restituito | Descrizione |
---|---|
|
Il file è stato aggiunto correttamente al processo. |
|
I processi di caricamento possono contenere solo un file; non è possibile aggiungere un altro file al processo. |
|
L'impostazione maxFilesPerJob Criteri di gruppo determina il numero di file che un processo può contenere. L'aggiunta del file al processo supera il limite MaxFilesPerJob. |
|
È possibile ricevere questo errore per uno dei motivi seguenti:
|
|
L'utente non dispone dell'autorizzazione per scrivere nella directory specificata nel client. |
Commenti
Per aggiungere più file alla volta a un processo, chiamare il metodo IBackgroundCopyJob::AddFileSet . È più efficiente chiamare il metodo AddFileSet quando si aggiungono più file a un processo che per chiamare il metodo AddFile in un ciclo. Per altre informazioni, vedere Aggiunta di file a un processo.
Per aggiungere un file a un processo da cui BITS scarica intervalli di dati dal file, chiamare il metodo IBackgroundCopyJob3::AddFileWithRanges .
I processi di caricamento possono contenere solo un file. Se si aggiunge un secondo file, il metodo restituisce BG_E_TOO_MANY_FILES.
Per i download, BITS garantisce che la versione di un file (in base alle dimensioni e alla data del file, non al contenuto) che il trasferimento sarà coerente; tuttavia, non garantisce che un set di file sarà coerente. Ad esempio, se BITS si trova al centro del download del secondo di due file nel processo al momento in cui i file vengono aggiornati nel server, BITS riavvia il download del secondo file; tuttavia, il primo file non viene scaricato di nuovo.
Si noti che se si possiede il file scaricato dal server, è necessario creare un nuovo URL per ogni nuova versione del file. Se si usa lo stesso URL per le nuove versioni del file, alcuni server proxy possono servire dati non aggiornati dalla cache perché non verificano con il server originale se il file non è aggiornato.
Per i caricamenti, BITS genera un errore se il file locale viene modificato durante il trasferimento del file. Il codice di errore è BG_E_FILE_CHANGED e il contesto è BG_ERROR_CONTEXT_LOCAL_FILE.
BITS trasferisce i file all'interno di un processo in sequenza. Se si verifica un errore durante il trasferimento di un file, il processo passa a uno stato di errore e non vengono elaborati più file all'interno del processo finché non viene risolto l'errore.
Per impostazione predefinita, un utente può aggiungere fino a 200 file a un processo. Questo limite non si applica agli amministratori o agli account di servizio. Per modificare il valore predefinito, impostare i criteri di gruppo MaxFilesPerJob .
Prima di Windows Vista: Non esiste alcun limite al numero di file che un utente può aggiungere a un processo.
Per i problemi di scalabilità, vedere Procedure consigliate per l'uso di BITS.
Esempio
Per un esempio che aggiunge un singolo file a un processo, vedere Aggiunta di file a un processo.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP |
Server minimo supportato | Windows Server 2003 |
Piattaforma di destinazione | Windows |
Intestazione | bits.h |
Libreria | Bits.lib |
DLL | QmgrPrxy.dll |
Vedi anche
IBackgroundCopyJob3::AddFileWithRanges