Partager via


structure BG_FILE_INFO (bits.h)

Fournit les noms locaux et distants du fichier à transférer.

Syntaxe

typedef struct _BG_FILE_INFO {
  LPWSTR RemoteName;
  LPWSTR LocalName;
} BG_FILE_INFO;

Membres

RemoteName

Chaîne terminée par null qui contient le nom du fichier sur le serveur (par exemple, http://< server>/<path>/file.ext). Le format du nom doit être conforme au protocole de transfert que vous utilisez. Vous ne pouvez pas utiliser de caractères génériques dans le chemin d’accès ou le nom de fichier. L’URL ne doit contenir que des caractères d’URL légaux ; aucun traitement d’échappement n’est effectué. L’URL est limitée à 2 200 caractères, à l’exception de la fin null.

Chaque segment de l’URL est limité à MAX_PATH caractères.

Vous pouvez utiliser SMB pour exprimer le nom distant du fichier à télécharger ou charger ; il n’existe aucune prise en charge SMB pour les travaux de chargement-réponse. Vous pouvez spécifier le nom distant comme chemin UNC, chemin complet avec un lecteur réseau ou utiliser le préfixe « file:// ». BITS 1.5 et versions antérieures : Le protocole SMB pour RemoteName n’est pas pris en charge.

LocalName

Chaîne terminée par null qui contient le nom du fichier sur le client. Le nom de fichier doit inclure le chemin complet (par exemple, d :\myapp\updates\file.ext). Vous ne pouvez pas utiliser de caractères génériques dans le chemin d’accès ou le nom de fichier, et les répertoires du chemin doivent exister. Le chemin d’accès est limité à MAX_PATH, sans inclure le terminateur null.

L’utilisateur doit avoir l’autorisation d’écrire dans le répertoire local pour les téléchargements et la partie réponse d’un travail de chargement-réponse. BITS ne prend pas en charge les flux NTFS. Au lieu d’utiliser des lecteurs réseau, qui sont spécifiques à une session, utilisez des chemins UNC (par exemple, \server\share\path\file). N’incluez pas le \ ? préfixe dans le chemin d’accès.

Remarques

BITS prend en charge les protocoles HTTP, HTTPS et SMB pour RemoteName. Pour connaître la configuration http requise, consultez Exigences HTTP pour les téléchargements BITS.

BITS 1.5 et versions antérieures : Le protocole SMB pour RemoteName n’est pas pris en charge.

L’élément suivant détermine si BITS propage les horodatages d’un fichier :

  • Pour les téléchargements HTTP, BITS propage l’horodatage de modification du fichier et définit l’heure de création du fichier sur l’heure de modification.
  • Pour les chargements HTTP, BITS ne propage pas les horodatages du fichier.
  • Pour les téléchargements et les chargements SMB, BITS propage les horodatages du fichier.
BITS ne prend pas en charge les chemins D’accès SMB aux canaux ou appareils nommés. Pour conserver le propriétaire et les informations ACL pour les fichiers téléchargés à l’aide de SMB, appelez la méthode IBackgroundCopyJob3 ::SetFileACLFlags .

Si la partie chemin d’accès et nom de fichier de l’URL d’un travail de chargement et de chargement-réponse HTTP contient des caractères Unicode qui ne sont pas communs à la page de code sur le client et le serveur, la traduction d’URL échoue sur le serveur et le travail BITS est placé dans l’état d’erreur. Si la partie serveur de l’URL contient des caractères Unicode, vous devez encoder la partie serveur à l’aide de noms de domaine internationalisés (IDN).

BITS ne limite pas la taille du fichier que vous pouvez télécharger à l’aide de HTTP. Pour connaître les limites de chargement, consultez la propriété d’extension BITSMaximumUploadSize IIS.

IIS 5.0 : Les téléchargements sont limités à 4 Go.

BITS 1.2 et versions antérieures : Pour les téléchargements HTTP, la taille de fichier maximale que vous pouvez transférer est de 4 Go ; BITS ne peut pas garantir le transfert réussi des fichiers de plus de 4 Go. Si l’URL contient des caractères Unicode qui ne sont pas dans le jeu de caractères US-ASCII, encodez la chaîne Unicode dans UTF-8 avant de la transmettre comme nom de fichier distant à BITS. Si vous n’encodez pas la chaîne, le serveur HTTP peut recevoir une URL incorrecte et le travail peut entrer dans l’état d’erreur.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP
Serveur minimal pris en charge Windows Server 2003
En-tête bits.h

Voir aussi

IBackgroundCopyFile2 ::SetRemoteName

IBackgroundCopyFile ::GetLocalName

IBackgroundCopyFile ::GetRemoteName

IBackgroundCopyJob3 ::ReplaceRemotePrefix

IBackgroundCopyJob ::AddFileSet