Metodo IBackgroundCopyCallback::JobTransferred (bits.h)
BITS chiama l'implementazione del metodo JobTransferred quando tutti i file nel processo sono stati trasferiti correttamente. Per BG_JOB_TYPE_UPLOAD_REPLY processi, BITS chiama il metodo JobTransferred dopo che il file di caricamento è stato trasferito al server e la risposta è stata trasferita al client.
Sintassi
HRESULT JobTransferred(
[in] IBackgroundCopyJob *pJob
);
Parametri
[in] pJob
Contiene informazioni correlate al processo, ad esempio l'ora di completamento del processo, il numero di byte trasferiti e il numero di file trasferiti. Non rilasciare pJob; BITS rilascia l'interfaccia quando il metodo restituisce.
Valore restituito
Questo metodo deve restituire S_OK; in caso contrario, BITS continua a chiamare questo metodo fino a quando non viene restituito S_OK. Per motivi di prestazioni, è consigliabile limitare il numero di volte in cui si restituisce un valore diverso da S_OK a poche volte. In alternativa alla restituzione di un codice di errore, è consigliabile restituire sempre S_OK e gestire internamente l'errore. L'intervallo in cui viene chiamato questo metodo è arbitrario.
Si noti che se questo metodo ha esito negativo e si chiama il metodo IBackgroundCopyJob2::SetNotifyCmdLine , la riga di comando viene eseguita e questo metodo non viene chiamato di nuovo.
Commenti
In genere, l'implementazione deve chiamare il metodo IBackgroundCopyJob::Complete per riconoscere che BITS ha trasferito correttamente i file. Scaricare i file e il file di risposta non sono disponibili nel client finché non si chiama il metodo Complete .
Se non si chiama il metodo Complete o il metodo IBackgroundCopyJob::Cancel entro 90 giorni (processo predefinito JobInactivityTimeout Criteri di gruppo), BITS annulla il processo ed elimina i file di risposta scaricati. L'annullamento del processo non influisce sui file caricati correttamente.
Se si desidera recuperare i dati di risposta nel callback, eseguire una query pJob per l'interfaccia IBackgroundCopyJob2 e chiamare il relativo metodo GetReplyData . Per recuperare il nome del file contenente i dati di risposta, chiamare il metodo GetReplyFileName .
BITS non garantisce l'integrità dei file trasferiti contro le intrusioni di terze parti. I client possono implementare controlli di integrità per convalidare i file trasferiti prima di chiamare il metodo Complete . Per ottenere una notifica quando viene trasferito un file, implementare il metodo IBackgroundCopyCallback2::FileTransferred . All'interno del callback chiamare il metodo IBackgroundCopyFile3::GetTemporaryName per ottenere il nome del file temporaneo contenente il contenuto scaricato. Convalidare il contenuto e quindi chiamare il metodo IBackgroundCopyFile3::SetValidationState per indicare se il contenuto è valido. Se il contenuto non è valido e BITS ha scaricato il file dal server di origine, il processo viene inserito nello stato di errore. Se il processo è stato scaricato da un peer, BITS scarica il file dal server di origine.
Esempio
Vedere il codice di esempio per l'interfaccia IBackgroundCopyCallback .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP |
Server minimo supportato | Windows Server 2003 |
Piattaforma di destinazione | Windows |
Intestazione | bits.h |