> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# WdCopySearchOptions

> WdCopySearchOptions

# WdCopySearchOptions

Spécifie les modèles de filtre de fichiers et de répertoires d'une opération de copie.

**Introduit dans :** [RIT 0.0.8-Preview](/fr-CA/reference/remoting/release-versions#release-versions). Les types et la disponibilité des membres varient selon la version; consultez [Historique des modifications](#change-history).

<Warning>Pour `CopyFrom`, les modèles de noms touchent uniquement l'énumération delta locale; ils ne restreignent pas la sélection des fichiers distants.</Warning>

## Syntaxe

```cpp theme={null}
struct WdCopySearchOptions 
{ 
    const char* includeFilePattern;
    const char* excludeFilePattern;
    const char* excludeDirPattern;
    uint32_t includeFileAttributes;
    uint32_t excludeFileAttributes;
    uint32_t includeDirectoryAttributes;
    uint32_t excludeDirectoryAttributes;
};
```

### Membres

`_In_z_ includeFilePattern`\
Type : **const char\***

Un modèle glob qui spécifie les fichiers à inclure dans l'opération de copie (par exemple, `"*"` pour inclure tous les fichiers, ou `"*.exe;*.dll"` pour inclure uniquement les exécutables et les DLL).

`_In_z_ excludeFilePattern`\
Type : **const char\***

Un modèle glob qui spécifie les fichiers à exclure de l'opération de copie (par exemple, `"*.pdb"` pour exclure les symboles de débogage).

`_In_z_ excludeDirPattern`\
Type : **const char\***

Un modèle glob qui spécifie des noms de répertoires, et non des chemins, à exclure de l'opération de copie (par exemple, `".vs;obj"` pour exclure les répertoires de Visual Studio et de sortie de build).

`includeFileAttributes`\
Type : **uint32\_t**

Un masque de bits d'attributs de fichier. Les fichiers possédant l'un ou l'autre des attributs spécifiés sont inclus dans la copie. Définissez la valeur à `0` pour ne pas filtrer selon les attributs. Pour plus d'information sur les attributs de fichier, consultez [File Attribute Constants](https://learn.microsoft.com/windows/win32/fileio/file-attribute-constants).

`excludeFileAttributes`\
Type : **uint32\_t**

Un masque de bits d'attributs de fichier qui entraînent l'exclusion des fichiers de la copie. Définissez la valeur à `0` pour ne pas filtrer selon les attributs. Pour plus d'information sur les attributs de fichier, consultez [File Attribute Constants](https://learn.microsoft.com/windows/win32/fileio/file-attribute-constants).

`includeDirectoryAttributes`\
Type : **uint32\_t**

**Introduit dans :** [RIT 0.0.13-preview](/fr-CA/reference/remoting/release-versions#release-versions).

Un masque de bits d'attributs de répertoire. Les répertoires possédant l'un ou l'autre des attributs spécifiés sont inclus dans la copie. Équivaut à `includeFileAttributes` appliqué aux répertoires. Définissez la valeur à `0` pour ne pas filtrer selon les attributs.

`excludeDirectoryAttributes`\
Type : **uint32\_t**

**Introduit dans :** [RIT 0.0.13-preview](/fr-CA/reference/remoting/release-versions#release-versions).

Un masque de bits d'attributs de répertoire qui entraînent l'exclusion des répertoires de la copie. Équivaut à `excludeFileAttributes` appliqué aux répertoires. Définissez la valeur à `0` pour ne pas filtrer selon les attributs.

## Exemples

Les exemples de modèles de noms ci-dessous utilisent `CopyTo`.

**Copier uniquement les fichiers `.exe` et `.dll` :**

```cpp theme={null}
WdCopySearchOptions searchOptions = {
    .includeFilePattern = "*.exe;*.dll",
    .excludeFilePattern = nullptr,
    .excludeDirPattern = nullptr,
    .includeFileAttributes = 0,
    .excludeFileAttributes = 0,
    .includeDirectoryAttributes = 0,
    .excludeDirectoryAttributes = 0
};
```

**Exclure de la copie les répertoires nommés `temp` :**

```cpp theme={null}
WdCopySearchOptions searchOptions = {
    .includeFilePattern = nullptr,
    .excludeFilePattern = nullptr,
    .excludeDirPattern = "temp",
    .includeFileAttributes = 0,
    .excludeFileAttributes = 0,
    .includeDirectoryAttributes = 0,
    .excludeDirectoryAttributes = 0
};
```

**Copier uniquement les fichiers en lecture seule ou système, et exclure les fichiers cachés :**

```cpp theme={null}
WdCopySearchOptions searchOptions = {
    .includeFilePattern = nullptr,
    .excludeFilePattern = nullptr,
    .excludeDirPattern = nullptr,
    .includeFileAttributes = FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_SYSTEM,
    .excludeFileAttributes = FILE_ATTRIBUTE_HIDDEN,
    .includeDirectoryAttributes = 0,
    .excludeDirectoryAttributes = 0
};
```

**Ignorer uniquement les répertoires cachés :**

```cpp theme={null}
WdCopySearchOptions searchOptions = {
    .includeFilePattern = nullptr,
    .excludeFilePattern = nullptr,
    .excludeDirPattern = nullptr,
    .includeFileAttributes = 0,
    .excludeFileAttributes = 0,
    .includeDirectoryAttributes = 0,
    .excludeDirectoryAttributes = FILE_ATTRIBUTE_HIDDEN
};
```

<Note>En cas de conflit entre les modèles d'inclusion et d'exclusion, le modèle d'exclusion a priorité et le fichier n'est pas copié.  </Note>

## Remarques

Passez cette structure à [WdRemoteCopy](/fr-CA/reference/remoting/functions/wdremotecopy) au moyen du paramètre `searchOptions` pour filtrer les fichiers et répertoires inclus dans l'opération de copie. Si `nullptr` est passé pour `searchOptions`, tous les fichiers sont copiés sans filtrage.

## Historique des modifications

| Version | Modification |
| - | - |
| [RIT 0.0.13-preview](/fr-CA/reference/remoting/release-versions#release-versions) | Modification du type de `includeFileAttributes` et de `excludeFileAttributes`, de `uint64_t` à `uint32_t`. Ajout de `includeDirectoryAttributes` et de `excludeDirectoryAttributes`, tous deux de type `uint32_t`. |
| [RIT 0.0.8-Preview](/fr-CA/reference/remoting/release-versions#release-versions) | Introduction des trois champs de modèles de noms et de deux masques d'attributs de fichier `uint64_t`. |

Les modifications de RIT 0.0.13-preview changent la disposition de la structure. Régénérez les appelants natifs avec l'en-tête et la bibliothèque du package NuGet de l'API correspondant; ne passez pas l'ancienne disposition de la structure à la DLL de l'API plus récente.

## Configuration requise

| Exigence | Valeur |
| - | - |
| **En-tête** | WdRemoteIteration.h |
| **Bibliothèque** | wdremoteapi.lib |
| **Système d'exploitation pris en charge** | Windows 11 et versions ultérieures |
| **Architectures prises en charge** | x64, ARM64 |

## Voir aussi

* [WdRemoteCopy](/fr-CA/reference/remoting/functions/wdremotecopy)
* [API XBOX PC Remote Iteration](/fr-CA/reference/remoting/remoteiteration_members)


## Related topics

- [WdRemoteCopy](/fr-CA/reference/remoting/functions/wdremotecopy.md)
- [API XBOX PC Remote Iteration](/fr-CA/reference/remoting/remoteiteration_members.md)
- [WdCopyOptions](/fr-CA/reference/remoting/structs/wdcopyoptions.md)
- [WdDeleteSearchOptions](/fr-CA/reference/remoting/structs/wddeletesearchoptions.md)
- [WdDeleteRemoteFiles](/fr-CA/reference/remoting/functions/wddeleteremotefiles.md)
