IBackgroundCopyJob::Complete-Methode (bits.h)
Beendet den Auftrag und speichert die übertragenen Dateien auf dem Client.
Syntax
HRESULT Complete();
Rückgabewert
Diese Methode gibt die folgenden HRESULT-Werte zurück. Die -Methode kann auch Fehler im Zusammenhang mit dem Umbenennen der temporären Kopien der übertragenen Dateien in die angegebenen Namen zurückgeben.
Rückgabecode | Beschreibung |
---|---|
|
Alle Dateien wurden erfolgreich übertragen. |
|
Eine Teilmenge der erfolgreich übertragenen Dateien. |
|
Der Auftrag wurde erfolgreich abgeschlossen; Der Dienst konnte jedoch die dem Auftrag zugeordneten temporären Dateien nicht löschen. |
|
Bei Downloads kann der Status des Auftrags nicht BG_JOB_STATE_CANCELLED oder BG_JOB_STATE_ACKNOWLEDGED werden.
Bei Uploads muss der Status des Auftrags BG_JOB_STATE_TRANSFERRED sein. |
Hinweise
Downloaddateien sind erst verfügbar, wenn Sie die Complete-Methode aufrufen. Rufen Sie die Complete-Methode auf, nachdem BITS die Dateien erfolgreich übertragen hat. Die -Methode benennt die temporären Downloaddateien in ihre endgültigen Zielnamen um und entfernt den Auftrag aus der Warteschlange. Beachten Sie, dass BITS die temporäre Uploaddatei umbenennt, wenn der Server das letzte Fragment empfängt, weshalb Downloadaufträge Netzwerkkonnektivität erfordern, und Uploadaufträge nicht.
Alle Dateien wurden erfolgreich übertragen, wenn der Status des Auftrags BG_JOB_STATE_TRANSFERRED ist. Um den Status des Auftrags zu überprüfen, rufen Sie die IBackgroundCopyJob::GetState-Methode auf. Sie können auch die IBackgroundCopyCallback-Schnittstelle implementieren, um Benachrichtigungen zu erhalten, wenn alle Dateien auf den Client übertragen wurden.
Wenn Sie die Complete-Methode oder die IBackgroundCopyJob::Cancel-Methode nicht innerhalb von 90 Tagen aufrufen (standard jobInactivityTimeout Gruppenrichtlinie), bricht der Dienst den Auftrag ab. Wenn der Dienst den Auftrag abbricht, sind die heruntergeladenen Dateien und die Antwortdatei für den Client nicht verfügbar. Der Auftragsabbruch wirkt sich nicht auf Dateien aus, die erfolgreich hochgeladen wurden.
BITS entfernt den Auftrag aus der Übertragungswarteschlange, wenn das HRESULT S_OK oder BG_S_PARTIAL_COMPLETE ist. Der Auftrag verbleibt in der Übertragungswarteschlange, wenn BITS nicht alle temporären Dateien umbenennen konnte. Dateien, die erfolgreich umbenannt wurden, stehen dem Benutzer zur Verfügung. Der Auftrag verbleibt in der Warteschlange (der Status ist BG_JOB_STATE_TRANSFERRED), bis die Anwendung das Problem beheben kann und entweder die Complete-Methode oder die IBackgroundCopyJob::Cancel-Methode aufruft, um den Auftrag abzubrechen. Informationen dazu, welche Dateien für Downloadaufträge nicht umbenannt wurden, finden Sie im Element Abgeschlossen der BG_FILE_PROGRESS-Struktur .
Für Downloadaufträge können Sie die Complete-Methode jederzeit während des Übertragungsvorgangs aufrufen. Es werden jedoch nur Dateien gespeichert, die vor dem Aufruf dieser Methode erfolgreich an den Client übertragen wurden. Wenn Sie beispielsweise die Complete-Methode aufrufen, während BITS die dritte von fünf Dateien verarbeitet, werden nur die ersten beiden Dateien gespeichert. Um zu ermitteln, welche Dateien übertragen wurden, rufen Sie die IBackgroundCopyFile::GetProgress-Methode auf, und vergleichen Sie das BytesTransferred-Element mit dem BytesTotal-Element der BG_FILE_PROGRESS-Struktur .
Für Uploadaufträge können Sie die Complete-Methode nur aufrufen, wenn der Status des Auftrags BG_JOB_STATE_TRANSFERRED ist.
BITS garantiert nicht die Integrität der übertragenen Dateien gegen Eindringlinge von Drittanbietern. Clients können Integritätsprüfungen implementieren, um übertragene Dateien nach dem Aufruf der Complete-Methode zu überprüfen.
Der Besitzer der Datei ist der Benutzer, der den Anruf getätigt hat. Wenn z. B. ein Administrator die Aufgabe einer anderen Person erledigt, besitzt der Administrator – nicht der Besitzer des Auftrags – die Datei.
BITS 1.2 und früher: Der Besitzer der Datei ist der Besitzer des Auftrags, unabhängig davon, wer die Complete-Methode aufgerufen hat.
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
Abschließen und Abbrechen eines Auftrags