WdRemoteCopy
Copie des fichiers entre un PC local et un appareil distant. Introduit dans : RIT 0.0.8-Preview.CopyFrom pris en charge à partir de : RIT 0.0.13-preview. Consultez Historique des modifications.
Syntaxe
Paramètres
_In_z_ remoteDeviceType : const char* Le nom d’hôte ou l’adresse IP de l’appareil distant (p. ex.,
"192.168.1.100" ou "MyDevKit").
_In_z_ sourcePathType : const char* Le chemin source à partir duquel copier (p. ex.,
"C:\\builds\\MyGame" lors d’une copie vers un appareil distant). Il s’agit d’un chemin local pour CopyTo et d’un chemin distant pour CopyFrom.
_In_z_ destinationPathType : const char* Le chemin de destination vers lequel copier. Pour
CopyTo, il s’agit d’un chemin distant qui peut être absolu (p. ex., "D:\\Games\\MyGame") ou relatif à la racine commune (p. ex., "MyGame"). Pour CopyFrom, il s’agit d’un chemin local.
_In_opt_ copyOptionsType : const WdCopyOptions* Facultatif. Spécifie la direction de la copie et l’alias de racine commune. Passez
nullptr pour utiliser les paramètres par défaut (CopyTo, emplacement de racine commune par défaut si destinationPath est un chemin relatif).
_In_opt_ searchOptionsType : const WdCopySearchOptions* Facultatif. Spécifie les modèles d’inclusion et d’exclusion de fichiers ainsi que les filtres d’attributs (p. ex.,
"*.exe;*.dll" pour copier uniquement les exécutables avec CopyTo). Pour CopyFrom, les modèles de noms ne restreignent pas la sélection des fichiers distants. Passez nullptr pour copier tous les fichiers.
_In_opt_ statusCallbacksType : const WdCopyStatusCallbacks* Facultatif. Spécifie les fonctions de rappel permettant de recevoir des mises à jour de progression et des messages de diagnostic pendant l’opération de copie. Passez
nullptr pour ne recevoir aucun rappel.
_In_opt_ cancellationHandleType : WdCancellationHandle Facultatif. Un handle d’annulation créé par WdCreateCancellationHandle qui peut être passé à WdCancelRemoteCopy à partir d’un thread distinct pour annuler l’opération de copie. Passez
nullptr si l’annulation n’est pas requise.
Valeur de retour
Type : HRESULT RetourneS_OK en cas de réussite; sinon, retourne un code d’erreur.
Codes d’erreur
Remarques
WdRemoteCopy est un appel synchrone et bloquant. Il ne retourne pas tant que tous les fichiers n’ont pas été copiés, que l’opération n’a pas été annulée au moyen de WdCancelRemoteCopy ou qu’une erreur ne s’est pas produite.
Pour permettre l’annulation, créez un WdCancellationHandle au moyen de WdCreateCancellationHandle avant d’appeler WdRemoteCopy, puis passez-le à WdCancelRemoteCopy à partir d’un thread distinct. Une fois que WdRemoteCopy a retourné, fermez le handle avec WdCloseCancellationHandle.
Utilisez WdCopyDirection::CopyTo pour envoyer des fichiers du PC local vers l’appareil distant, ou CopyFrom pour récupérer des fichiers de l’appareil distant vers le PC local. La direction par défaut est CopyTo.
Le chemin distant est destinationPath pour CopyTo et sourcePath pour CopyFrom. Si ce chemin est absolu, le commonRootAlias de WdCopyOptions est ignoré. S’il est relatif, l’emplacement de racine commune par défaut est utilisé, sauf si un commonRootAlias est spécifié.
Pour recevoir des mises à jour de progression pendant la copie, fournissez une structure WdCopyStatusCallbacks contenant des pointeurs de fonctions de rappel.
WdRemoteCopy ne réessaie pas automatiquement en cas d’échec. Si l’opération échoue en raison d’une interruption du réseau, l’appelant doit appeler de nouveau WdRemoteCopy. Les fichiers copiés avec succès avant l’échec demeurent à la destination; le comportement de copie delta garantit que seuls les fichiers incomplets ou manquants sont transférés de nouveau lors de la nouvelle tentative. Il n’y a aucun délai d’expiration; la copie se poursuit jusqu’à ce qu’elle soit terminée, qu’une erreur se produise ou qu’elle soit annulée.
