Condividi tramite


Metodo IBackgroundCopyJob::Complete (bits.h)

Termina il processo e salva i file trasferiti nel client.

Sintassi

HRESULT Complete();

Valore restituito

Questo metodo restituisce i valori HRESULT seguenti. Il metodo può anche restituire errori correlati alla ridenominazione delle copie temporanee dei file trasferiti ai nomi specificati.

Codice restituito Descrizione
S_OK
Tutti i file trasferiti correttamente.
BG_S_PARTIAL_COMPLETE
Subset dei file trasferiti correttamente.
BG_S_UNABLE_TO_DELETE_FILES
Il processo è stato completato correttamente; Tuttavia, il servizio non è riuscito a eliminare i file temporanei associati al processo.
BG_E_INVALID_STATE
Per i download, lo stato del processo non può essere BG_JOB_STATE_CANCELLED o BG_JOB_STATE_ACKNOWLEDGED.

Per i caricamenti, lo stato del processo deve essere BG_JOB_STATE_TRANSFERRED.

Commenti

I file di download non sono disponibili fino a quando non si chiama il metodo Complete . Chiamare il metodo Complete dopo che BITS trasferisce correttamente i file. Il metodo rinomina i file di download temporanei nei nomi di destinazione finali e rimuove il processo dalla coda. Si noti che BITS rinomina il file di caricamento temporaneo quando il server riceve l'ultimo frammento, motivo per cui i processi di download richiedono connettività di rete e processi di caricamento non lo fanno.

Tutti i file sono stati trasferiti correttamente se lo stato del processo è BG_JOB_STATE_TRANSFERRED. Per controllare lo stato del processo, chiamare il metodo IBackgroundCopyJob::GetState . È anche possibile implementare l'interfaccia IBackgroundCopyCallback per ricevere una notifica quando tutti i file sono stati trasferiti al client.

Se non si chiama il metodo Complete o il metodo IBackgroundCopyJob::Cancel entro 90 giorni (jobInactivityTimeout predefinito Criteri di gruppo), il servizio annulla il processo. Se il servizio annulla il processo, i file scaricati e il file di risposta non sono disponibili per il client; l'annullamento del processo non influisce sui file caricati correttamente.

BITS rimuove il processo dalla coda di trasferimento se HRESULT è S_OK o BG_S_PARTIAL_COMPLETE. Il processo rimane nella coda di trasferimento se BITS non è riuscito a rinominare tutti i file temporanei. I file rinominati correttamente sono disponibili per l'utente. Il processo rimane nella coda (lo stato è BG_JOB_STATE_TRANSFERRED) fino a quando l'applicazione non è in grado di risolvere il problema e chiama nuovamente il metodo Complete o il metodo IBackgroundCopyJob::Cancel per annullare il processo. Per determinare quali file non sono stati rinominati per i processi di download, vedere il membro Completato della struttura BG_FILE_PROGRESS .

Per i processi di download, è possibile chiamare il metodo Complete in qualsiasi momento durante il processo di trasferimento; tuttavia, solo i file trasferiti correttamente al client prima di chiamare questo metodo vengono salvati. Ad esempio, se si chiama il metodo Complete mentre BITS elabora il terzo di cinque file, vengono salvati solo i primi due file. Per determinare quali file sono stati trasferiti, chiamare il metodo IBackgroundCopyFile::GetProgress e confrontare il membro BytesTransferred con il membro BytesTotal della struttura BG_FILE_PROGRESS .

Per i processi di caricamento, è possibile chiamare il metodo Complete solo quando lo stato del processo è BG_JOB_STATE_TRANSFERRED.

BITS non garantisce l'integrità dei file trasferiti contro intrusioni di terze parti. I client possono implementare controlli di integrità per convalidare i file trasferiti dopo aver chiamato il metodo Complete .

Il proprietario del file è l'utente che ha effettuato la chiamata. Ad esempio, se un amministratore completa il processo di un altro utente, l'amministratore, non il proprietario del processo, è proprietario del file.

BITS 1.2 e versioni precedenti: Il proprietario del file è il proprietario del processo, indipendentemente da chi ha chiamato il metodo Complete .

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

Completamento e annullamento di un processo

IBackgroundCopyCallback::JobTransferred

IBackgroundCopyJob::Cancel

IBackgroundCopyJob::GetState