Méthode IBackgroundCopyJob ::AddFile (bits.h)
Ajoute un seul fichier au travail.
Syntaxe
HRESULT AddFile(
[in] LPCWSTR RemoteUrl,
[in] LPCWSTR LocalName
);
Paramètres
[in] RemoteUrl
Chaîne terminée par null qui contient le nom du fichier sur le serveur. Pour plus d’informations sur la spécification du nom distant, consultez la section Membre RemoteName et Remarques de la structure BG_FILE_INFO .
[in] LocalName
Chaîne terminée par null qui contient le nom du fichier sur le client. Pour plus d’informations sur la spécification du nom local, consultez la section Membre LocalName et Remarques de la structure BG_FILE_INFO .
Valeur retournée
Cette méthode retourne les valeurs HRESULT suivantes, ainsi que d’autres.
Code de retour | Description |
---|---|
|
Le fichier a été correctement ajouté au travail. |
|
Les travaux de chargement ne peuvent contenir qu’un seul fichier ; vous ne pouvez pas ajouter un autre fichier au travail. |
|
Le paramètre maxFilesPerJob stratégie de groupe détermine le nombre de fichiers qu’un travail peut contenir. L’ajout du fichier au travail dépasse la limite MaxFilesPerJob. |
|
Vous pouvez recevoir cette erreur pour l’une des raisons suivantes :
|
|
L’utilisateur n’a pas l’autorisation d’écrire dans le répertoire spécifié sur le client. |
Remarques
Pour ajouter plusieurs fichiers à la fois à un travail, appelez la méthode IBackgroundCopyJob ::AddFileSet . Il est plus efficace d’appeler la méthode AddFileSet lors de l’ajout de plusieurs fichiers à un travail que d’appeler la méthode AddFile dans une boucle. Pour plus d’informations, consultez Ajout de fichiers à un travail.
Pour ajouter un fichier à un travail à partir duquel BITS télécharge des plages de données à partir du fichier, appelez la méthode IBackgroundCopyJob3 ::AddFileWithRanges .
Les travaux de chargement ne peuvent contenir qu’un seul fichier. Si vous ajoutez un deuxième fichier, la méthode retourne BG_E_TOO_MANY_FILES.
Pour les téléchargements, BITS garantit que la version d’un fichier (en fonction de la taille et de la date du fichier, et non du contenu) qu’il transfère sera cohérente ; toutefois, cela ne garantit pas la cohérence d’un ensemble de fichiers. Par exemple, si BITS est en train de télécharger le deuxième des deux fichiers du travail au moment où les fichiers sont mis à jour sur le serveur, BITS redémarre le téléchargement du deuxième fichier ; toutefois, le premier fichier n’est pas téléchargé à nouveau.
Notez que si vous êtes propriétaire du fichier téléchargé à partir du serveur, vous devez créer une URL pour chaque nouvelle version du fichier. Si vous utilisez la même URL pour les nouvelles versions du fichier, certains serveurs proxy peuvent servir des données obsolètes à partir de leur cache, car ils ne vérifient pas auprès du serveur d’origine si le fichier est obsolète.
Pour les chargements, BITS génère une erreur si le fichier local change pendant le transfert du fichier. Le code d’erreur est BG_E_FILE_CHANGED et le contexte est BG_ERROR_CONTEXT_LOCAL_FILE.
BITS transfère les fichiers au sein d’un travail de manière séquentielle. Si une erreur se produit lors du transfert d’un fichier, le travail passe à un état d’erreur et aucun autre fichier au sein du travail n’est traité tant que l’erreur n’est pas résolue.
Par défaut, un utilisateur peut ajouter jusqu’à 200 fichiers à un travail. Cette limite ne s’applique pas aux administrateurs ou aux comptes de service. Pour modifier la valeur par défaut, définissez les stratégies de groupe MaxFilesPerJob .
Avant Windows Vista : Il n’existe aucune limite quant au nombre de fichiers qu’un utilisateur peut ajouter à un travail.
Pour connaître les problèmes de scalabilité, consultez Meilleures pratiques lors de l’utilisation de BITS.
Exemples
Pour obtenir un exemple qui ajoute un seul fichier à un travail, consultez Ajout de fichiers à un travail.
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
IBackgroundCopyJob3 ::AddFileWithRanges
IBackgroundCopyJob ::AddFileSet