Metodo IBackgroundCopyJob::GetError
Recupera l'interfaccia di errore dopo un errore.
Ottimizzazione recapito 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 l'ottimizzazione recapito inizia a trasferire i dati (lo stato del processo viene modificato in BG_JOB_STATE_TRANSFERRING) per il processo o fino a quando l'applicazione non viene chiusa.
Sintassi
HRESULT GetError(
[out] IBackgroundCopyError **ppError
);
Parametri
-
ppError [out]
-
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 l'ottimizzazione recapito inizi a trasferire i dati (BG_JOB_STATE_TRANSFERRING). |
Commenti
Il processo viene inserito in uno stato di errore sugli errori irreversibili. 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.
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:
- 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 .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 10 versione 1709 [solo app desktop] |
Server minimo supportato |
Windows Server, versione 1709 [solo app desktop] |
Intestazione |
|
IDL |
|
Libreria |
|
DLL |
|
IID |
IID_IBackgroundCopyJob viene definito come 37668D37-507E-4160-9316-26306D150B12 |