Freigeben über


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
S_OK
Das Fehlerobjekt wurde erfolgreich generiert.
BG_E_ERROR_INFORMATION_UNAVAILABLE
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:

Die IBackgroundCopyError-Schnittstelle enthält Informationen, die Sie verwenden, um die Ursache des Fehlers zu ermitteln und ob der Übertragungsprozess fortgesetzt werden kann. Nachdem Sie die Fehlerursache ermittelt haben, führen Sie eine der folgenden Optionen aus: Wenn der Auftrag 90 Tage lang in einem Fehlerzustand verbleibt (StandardauftragInactivityTimeout Gruppenrichtlinie), entfernt der Dienst den Auftrag aus der Warteschlange und löscht die temporären Dateien auf dem Client. Das Löschen des Auftrags wirkt sich nicht auf Dateien aus, die erfolgreich hochgeladen wurden.

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

Weitere Informationen

IBackgroundCopyCallback::JobError

IBackgroundCopyError

IBackgroundCopyJob::GetState