Condividi tramite


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
S_OK
È stato generato correttamente l'oggetto error.
BG_E_ERROR_INFORMATION_UNAVAILABLE
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:

L'interfaccia IBackgroundCopyError contiene informazioni usate per determinare la causa dell'errore e se il processo di trasferimento può procedere. Dopo aver determinato la causa dell'errore, eseguire una delle opzioni seguenti: Se il processo rimane in uno stato di errore per 90 giorni (jobInactivityTimeout predefinito Criteri di gruppo), il servizio rimuove il processo dalla coda ed elimina i file temporanei nel client. L'eliminazione del processo non influisce sui file caricati correttamente.

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

Vedi anche

IBackgroundCopyCallback::JobError

IBackgroundCopyError

IBackgroundCopyJob::GetState