Metodo IBackgroundCopyJob::GetError (bits.h)
Recupera l'interfaccia di errore dopo un errore.
BITS genera un oggetto errore quando lo stato del processo è BG_JOB_STATE_ERROR o BG_JOB_STATE_TRANSIENT_ERROR . Il servizio non crea un oggetto errore quando una chiamata a un metodo di interfaccia IBackgroundCopyXXXX ha esito negativo. L'oggetto error è disponibile fino a quando BITS inizia a trasferire i dati (lo stato del processo cambia in BG_JOB_STATE_TRANSFERRING) per il processo o fino a quando l'applicazione non viene chiusa.
Sintassi
HRESULT GetError(
[out] IBackgroundCopyError **ppError
);
Parametri
[out] ppError
Interfaccia di errore che fornisce il codice di errore, una descrizione dell'errore e il contesto in cui si è verificato l'errore. Questo parametro identifica anche il file trasferito al momento dell'errore. Rilasciare ppError al termine.
Valore restituito
Questo metodo restituisce i valori HRESULT seguenti, nonché altri.
Codice restituito | Descrizione |
---|---|
|
È stato generato correttamente l'oggetto error. |
|
L'interfaccia di errore è disponibile solo dopo che si verifica un errore (BG_JOB_STATE_ERROR o BG_JOB_STATE_TRANSIENT_ERROR) e prima che BITS inizi a trasferire i dati (BG_JOB_STATE_TRANSFERRING). |
Commenti
Il processo viene inserito in uno stato di errore sugli errori irreversibili o dopo la scadenza del periodo di timeout senza avanzamento per gli errori temporanei(questo periodo viene recuperato dal metodo GetNoProgressTimeout ). Usare una delle opzioni seguenti per determinare se il processo è in errore:
- Per eseguire il polling dello stato del processo, chiamare il metodo IBackgroundCopyJob::GetState . Il processo è in errore se lo stato è BG_JOB_STATE_ERROR.
- Per ricevere una notifica quando si verifica un errore, implementare l'interfaccia IBackgroundCopyCallback (in particolare, il metodo JobError ). Chiamare quindi il metodo IBackgroundCopyJob::SetNotifyInterface per registrare il callback e il metodo IBackgroundCopyJob::SetNotifyFlags per impostare il flag di BG_NOTIFY_JOB_ERROR.
- Per annullare il processo, chiamare il metodo IBackgroundCopyJob::Cancel .
- Per salvare i file trasferiti correttamente prima dell'errore, chiamare il metodo IBackgroundCopyJob::Complete .
- Per completare l'elaborazione del processo, risolvere il problema e quindi chiamare il metodo IBackgroundCopyJob::Resume .
Per determinare se la parte di caricamento, risposta o applicazione server di un processo di risposta di caricamento non è riuscita, chiamare il metodo IBackgroundCopyError::GetError per recuperare il contesto in cui si è verificato l'errore. L'applicazione server non è riuscita se il contesto è BG_ERROR_CONTEXT_REMOTE_APPLICATION. Se l'errore è con il caricamento o la risposta, il contesto è BG_ERROR_CONTEXT_REMOTE_FILE. Il caricamento non è riuscito se il membro BytesTotal della struttura BG_JOB_REPLY_PROGRESS è BG_SIZE_UNKNOWN. In caso contrario, la risposta non è riuscita.
Esempio
Vedere il codice di esempio nell'argomento Gestione degli errori .
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 |