IBackgroundCopyJob::GetError-Methode (bits.h)
Ruft die Fehlerschnittstelle ab, nachdem ein Fehler aufgetreten ist.
BITS generiert ein Fehlerobjekt, wenn der Status des Auftrags BG_JOB_STATE_ERROR oder BG_JOB_STATE_TRANSIENT_ERROR ist. Der Dienst erstellt kein Fehlerobjekt, wenn ein Aufruf einer IBackgroundCopyXXXXXX-Schnittstellenmethode fehlschlägt. Das Fehlerobjekt ist so lange verfügbar, bis BITS mit der Übertragung von Daten (der Status des Auftrags ändert sich in BG_JOB_STATE_TRANSFERRING) für den Auftrag oder bis die Anwendung beendet wird.
Syntax
HRESULT GetError(
[out] IBackgroundCopyError **ppError
);
Parameter
[out] ppError
Fehlerschnittstelle, die den Fehlercode, eine Beschreibung des Fehlers und den Kontext bereitstellt, in dem der Fehler aufgetreten ist. Dieser Parameter identifiziert auch die Datei, die zum Zeitpunkt des Fehlers übertragen wird. Lösen Sie ppError, wenn Sie fertig sind.
Rückgabewert
Diese Methode gibt die folgenden HRESULT-Werte sowie andere zurück.
Rückgabecode | Beschreibung |
---|---|
|
Das Fehlerobjekt wurde erfolgreich generiert. |
|
Die Fehlerschnittstelle ist nur verfügbar, nachdem ein Fehler aufgetreten ist (BG_JOB_STATE_ERROR oder BG_JOB_STATE_TRANSIENT_ERROR) und bevor BITS mit der Übertragung von Daten beginnt (BG_JOB_STATE_TRANSFERRING). |
Hinweise
Der Auftrag wird bei schwerwiegenden Fehlern oder nach Ablauf des Zeitraums ohne Fortschritt für vorübergehende Fehler in einen Fehlerzustand versetzt (dieser Zeitraum wird von der GetNoProgressTimeout-Methode abgerufen). Verwenden Sie eine der folgenden Optionen, um zu ermitteln, ob der Auftrag einen Fehler aufweist:
- Um den Status des Auftrags abzufragen, rufen Sie die IBackgroundCopyJob::GetState-Methode auf. Der Auftrag ist fehlerhaft, wenn der Zustand BG_JOB_STATE_ERROR ist.
- Um Benachrichtigungen zu erhalten, wenn ein Fehler auftritt, implementieren Sie die IBackgroundCopyCallback-Schnittstelle (insbesondere die JobError-Methode ). Rufen Sie dann die IBackgroundCopyJob::SetNotifyInterface-Methode auf, um den Rückruf zu registrieren, und die IBackgroundCopyJob::SetNotifyFlags-Methode , um das BG_NOTIFY_JOB_ERROR-Flag festzulegen.
- Um den Auftrag abzubrechen, rufen Sie die IBackgroundCopyJob::Cancel-Methode auf.
- Um die Dateien zu speichern, die erfolgreich übertragen wurden, bevor der Fehler aufgetreten ist, rufen Sie die IBackgroundCopyJob::Complete-Methode auf.
- Um die Verarbeitung des Auftrags abzuschließen, beheben Sie das Problem, und rufen Sie dann die IBackgroundCopyJob::Resume-Methode auf.
Um zu ermitteln, ob der Upload-, Antwort- oder Serveranwendungsteil eines Upload-Antwortauftrags fehlgeschlagen ist, rufen Sie die IBackgroundCopyError::GetError-Methode auf, um den Kontext abzurufen, in dem der Fehler aufgetreten ist. Fehler bei der Serveranwendung, wenn der Kontext BG_ERROR_CONTEXT_REMOTE_APPLICATION ist. Wenn der Fehler mit dem Upload oder der Antwort auftritt, wird der Kontext BG_ERROR_CONTEXT_REMOTE_FILE. Fehler beim Hochladen, wenn das BytesTotal-Element der BG_JOB_REPLY_PROGRESS-Struktur BG_SIZE_UNKNOWN ist. Andernfalls ist die Antwort fehlgeschlagen.
Beispiele
Weitere Informationen finden Sie im Beispielcode im Thema Behandlungsfehler .
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP |
Unterstützte Mindestversion (Server) | Windows Server 2003 |
Zielplattform | Windows |
Kopfzeile | bits.h |
Bibliothek | Bits.lib |
DLL | QmgrPrxy.dll |