WdDeleteRemoteFiles
Effectue au mieux la suppression de fichiers et de répertoires sur un appareil distant. Introduit dans : RIT 0.0.13-preview.Syntaxe
Paramètres
_In_z_ remoteDeviceType : const char* Adresse ou nom de l’appareil distant (UTF-8), par exemple
"192.168.1.100" ou "MyDevKit".
_In_z_ remoteFolderPathType : const char* Chemin à supprimer sur l’appareil distant (UTF-8). Il peut s’agir d’un chemin de dossier, auquel cas son contenu est supprimé, ou d’un chemin de fichier unique, auquel cas seul ce fichier est supprimé. Si
remoteFolderPath est un chemin absolu, le commonRootAlias de WdDeleteOptions est ignoré.
_In_opt_ deleteOptionsType : const WdDeleteOptions* Facultatif. Spécifie l’alias de racine commune utilisé pour la résolution des chemins et indique si la suppression du dossier racine lui-même doit être tentée. Passez
nullptr pour utiliser l’emplacement de racine commune par défaut lorsque remoteFolderPath est un chemin relatif, et pour conserver le dossier racine afin que seul son contenu soit supprimé. Lorsque remoteFolderPath se résout en un fichier unique, deleteRootFolder est ignoré.
_In_opt_ searchOptionsType : const WdDeleteSearchOptions* Facultatif. Spécifie des modèles d’inclusion/exclusion et des filtres d’attributs qui sélectionnent les fichiers et répertoires à supprimer. Passez
nullptr pour inclure tous les éléments. Ces options s’appliquent uniquement lorsque remoteFolderPath se résout en un dossier ; elles sont ignorées lorsqu’il se résout en un fichier unique.
_In_opt_ statusCallbacksType : const WdDeleteStatusCallbacks* Actuellement ignoré. Passez
nullptr ; aucun rappel de progression ou d’erreur n’est appelé.
_In_opt_ cancellationHandleType : WdCancellationHandle Facultatif. Handle d’annulation créé par WdCreateCancellationHandle qui peut être passé à WdCancelRemoteDelete depuis un thread distinct pour arrêter l’attente du client. Passez
nullptr si l’annulation n’est pas nécessaire.
Valeur renvoyée
Type : HRESULT RenvoieS_OK lorsque le point de terminaison signale une réussite ou que le client observe une annulation ; sinon, renvoie un code d’erreur. S_OK ne garantit pas que chaque élément sélectionné a été supprimé. Pour obtenir la liste des codes d’erreur propres à l’API, avec leurs causes premières et des conseils de dépannage, consultez Codes d’erreur de l’API XBOX PC Remote Iteration.
Remarques
WdDeleteRemoteFiles est un appel synchrone et bloquant. Il attend un résultat du point de terminaison, une erreur ou une annulation observée via WdCancelRemoteDelete. La suppression est effectuée au mieux : aucun résultat par élément n’est renvoyé, et les échecs de suppression de fichiers ne sont signalés que dans les journaux du point de terminaison.
Pour permettre l’annulation, créez un WdCancellationHandle à l’aide de WdCreateCancellationHandle avant d’appeler WdDeleteRemoteFiles, puis passez-le à WdCancelRemoteDelete depuis un thread distinct. Une fois que WdDeleteRemoteFiles a retourné, fermez le handle avec WdCloseCancellationHandle.
L’annulation arrête l’attente du client, mais pas une suppression déjà commencée sur le point de terminaison. Lorsque l’annulation est observée, l’appel renvoie S_OK sans confirmer l’achèvement côté point de terminaison.
Par défaut, seul le contenu de remoteFolderPath est supprimé et le dossier lui-même est conservé. Définissez deleteRootFolder sur true dans WdDeleteOptions pour tenter également de supprimer le dossier une fois son contenu supprimé. Cette suppression est effectuée au mieux et n’est tentée que si le dossier est vide ; une suppression filtrée qui laisse des éléments conserve le dossier.
Quelle que soit la valeur de deleteRootFolder, l’opération tente également de supprimer les sous-répertoires vides qui satisfont aux filtres de répertoires, y compris les répertoires qui étaient déjà vides.
Si remoteFolderPath est un chemin absolu, le commonRootAlias de WdDeleteOptions est ignoré. Si remoteFolderPath est un chemin relatif, l’emplacement de racine commune par défaut est utilisé, sauf si un commonRootAlias est spécifié.
[!WARNING] La suppression peut suivre les jonctions de répertoires et les liens symboliques de répertoires situés sousremoteFolderPath, et supprimer des fichiers correspondants en dehors de ce répertoire. L’opération peut tout de même renvoyerS_OK; aucun résultat par élément ni aucune opération d’annulation ne sont fournis. Assurez-vous que la racine n’est pas elle-même un répertoire lié, et utilisezexcludeDirPatternpour exclure par leur nom les sous-répertoires liés connus.
