IBackgroundCopyJob::GetError-Methode
Ruft die Fehlerschnittstelle ab, nachdem ein Fehler auftritt.
Die Übermittlungsoptimierung 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 IBackgroundCopyXXXX-Schnittstellenmethode fehlschlägt. Das Fehlerobjekt ist verfügbar, bis die Übermittlungsoptimierung mit der Übertragung von Daten beginnt (der Status des Auftrags ändert sich in BG_JOB_STATE_TRANSFERRING) für den Auftrag oder bis Ihre Anwendung beendet wird.
Syntax
HRESULT GetError(
[out] IBackgroundCopyError **ppError
);
Parameter
-
ppError [out]
-
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. Geben Sie ppError frei, 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, wenn ein Fehler auftritt (BG_JOB_STATE_ERROR oder BG_JOB_STATE_TRANSIENT_ERROR) und bevor die Übermittlungsoptimierung mit der Übertragung von Daten beginnt (BG_JOB_STATE_TRANSFERRING). |
Bemerkungen
Der Auftrag wird bei schwerwiegenden Fehlern in einen Fehlerzustand versetzt. Verwenden Sie eine der folgenden Optionen, um zu ermitteln, ob der Auftrag fehlerhaft ist:
- Rufen Sie die IBackgroundCopyJob::GetState-Methode auf, um den Status des Auftrags abzufragen. Der Auftrag ist fehlerhaft, wenn der Zustand BG_JOB_STATE_ERROR ist.
- Um eine Benachrichtigung 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.
Die IBackgroundCopyError-Schnittstelle enthält Informationen, die Sie verwenden, um die Ursache des Fehlers zu ermitteln und ob der Übertragungsvorgang fortgesetzt werden kann. Nachdem Sie die Fehlerursache ermittelt haben, führen Sie eine der folgenden Optionen aus:
- Um den Auftrag abzubrechen, rufen Sie die IBackgroundCopyJob::Cancel-Methode auf.
- Um die Dateien zu speichern, die vor dem Auftreten des Fehlers erfolgreich übertragen wurden, 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.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows 10, Version 1709 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows Server, Version 1709 [nur Desktop-Apps] |
Header |
|
IDL |
|
Bibliothek |
|
DLL |
|
IID |
IID_IBackgroundCopyJob ist definiert als 37668D37-507E-4160-9316-26306D150B12 |