IBackgroundCopyJob ::Complete, méthode (bits.h)

Termine le travail et enregistre les fichiers transférés sur le client.

Syntaxe

HRESULT Complete();

Valeur de retour

Cette méthode retourne les valeurs HRESULT suivantes. La méthode peut également retourner des erreurs liées au renommage des copies temporaires des fichiers transférés à leurs noms donnés.

Code de retour Description
S_OK
Tous les fichiers transférés avec succès.
BG_S_PARTIAL_COMPLETE
Sous-ensemble des fichiers transférés avec succès.
BG_S_UNABLE_TO_DELETE_FILES
Le travail a été terminé avec succès ; Toutefois, le service n’a pas pu supprimer les fichiers temporaires associés au travail.
BG_E_INVALID_STATE
Pour les téléchargements, l’état du travail ne peut pas être BG_JOB_STATE_CANCELLED ou BG_JOB_STATE_ACKNOWLEDGED.

Pour les chargements, l’état du travail doit être BG_JOB_STATE_TRANSFERRED.

Remarques

Les fichiers de téléchargement ne sont pas disponibles tant que vous n’avez pas appelé la méthode Complete . Appelez la méthode Complete après que BITS a correctement transféré les fichiers. La méthode renomme les fichiers de téléchargement temporaires en leur nom de destination final et supprime le travail de la file d’attente. Notez que BITS renomme le fichier de chargement temporaire lorsque le serveur reçoit le dernier fragment, ce qui explique pourquoi les travaux de téléchargement nécessitent une connectivité réseau et les travaux de chargement ne le font pas.

Tous les fichiers ont été transférés correctement si l’état du travail est BG_JOB_STATE_TRANSFERRED. Pour case activée l’état du travail, appelez la méthode IBackgroundCopyJob ::GetState. Vous pouvez également implémenter l’interface IBackgroundCopyCallback pour recevoir une notification lorsque tous les fichiers ont été transférés vers le client.

Si vous n’appelez pas la méthode Complete ou la méthode IBackgroundCopyJob ::Cancel dans les 90 jours (jobInactivityTimeout par défaut stratégie de groupe), le service annule le travail. Si le service annule le travail, les fichiers téléchargés et le fichier de réponse ne sont pas disponibles pour le client ; l’annulation du travail n’affecte pas les fichiers qui ont été correctement chargés.

BITS supprime le travail de la file d’attente de transfert si le HRESULT est S_OK ou BG_S_PARTIAL_COMPLETE. Le travail reste dans la file d’attente de transfert si BITS n’a pas pu renommer tous les fichiers temporaires. Les fichiers qui ont été renommés avec succès sont disponibles pour l’utilisateur. Le travail reste dans la file d’attente (l’état est BG_JOB_STATE_TRANSFERRED) jusqu’à ce que l’application soit en mesure de résoudre le problème et appelle à nouveau la méthode Complete ou la méthode IBackgroundCopyJob ::Cancel pour annuler le travail. Pour déterminer quels fichiers n’ont pas été renommés pour les travaux de téléchargement, consultez le membre Terminé de la structure BG_FILE_PROGRESS .

Pour les travaux de téléchargement, vous pouvez appeler la méthode Complete à tout moment pendant le processus de transfert . toutefois, seuls les fichiers qui ont été transférés au client avant l’appel de cette méthode sont enregistrés. Par exemple, si vous appelez la méthode Complete pendant que BITS traite le troisième des cinq fichiers, seuls les deux premiers fichiers sont enregistrés. Pour déterminer quels fichiers ont été transférés, appelez la méthode IBackgroundCopyFile ::GetProgress et comparez le membre BytesTransferred au membre BytesTotal de la structure BG_FILE_PROGRESS .

Pour les travaux de chargement, vous pouvez appeler la méthode Complete uniquement lorsque l’état du travail est BG_JOB_STATE_TRANSFERRED.

BITS ne garantit pas l’intégrité des fichiers transférés contre les intrusions tierces. Les clients peuvent implémenter des vérifications d’intégrité pour valider les fichiers transférés après avoir appelé la méthode Complete .

Le propriétaire du fichier est l’utilisateur qui a effectué l’appel. Par exemple, si un administrateur termine le travail d’une autre personne, l’administrateur (et non le propriétaire du travail) est propriétaire du fichier.

BITS 1.2 et versions antérieures : Le propriétaire du fichier est le propriétaire du travail, quel que soit l’utilisateur qui a appelé la méthode Complete .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP
Serveur minimal pris en charge Windows Server 2003
Plateforme cible Windows
En-tête bits.h
Bibliothèque Bits.lib
DLL QmgrPrxy.dll

Voir aussi

Achèvement et annulation d’un travail

IBackgroundCopyCallback ::JobTransferred

IBackgroundCopyJob ::Cancel

IBackgroundCopyJob ::GetState