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

# WdCopySearchOptions

> WdCopySearchOptions

# WdCopySearchOptions

Especifica los patrones de filtro de archivos y directorios para una operación de copia.

**Introducido en:** [RIT 0.0.8-Preview](https://docs.xbox.com/es/reference/remoting/release-versions.md#release-versions). Los tipos de miembros y su disponibilidad varían según la versión; consulte [Historial de cambios](#change-history).

> [!WARNING]
>
> Para `CopyFrom`, los patrones de nombre solo afectan a la enumeración diferencial local; no restringen la selección de archivos remotos.

## Sintaxis

```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;
};
```

### Miembros

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

Patrón glob que especifica qué archivos se incluyen en la operación de copia (por ejemplo, `"*"` para incluir todos los archivos, o `"*.exe;*.dll"` para incluir solo ejecutables y archivos DLL).

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

Patrón glob que especifica qué archivos se excluyen de la operación de copia (por ejemplo, `"*.pdb"` para excluir los símbolos de depuración).

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

Patrón glob que especifica nombres de directorio, no rutas de acceso, que se excluyen de la operación de copia (por ejemplo, `".vs;obj"` para excluir los directorios de Visual Studio y de salida de compilación).

`includeFileAttributes`\
Tipo: **uint32\_t**

Máscara de bits de atributos de archivo. Los archivos con cualquiera de los atributos especificados se incluyen en la copia. Establézcala en `0` para no filtrar por atributos. Para obtener más información sobre los atributos de archivo, consulte [Constantes de atributos de archivo](https://learn.microsoft.com/windows/win32/fileio/file-attribute-constants).

`excludeFileAttributes`\
Tipo: **uint32\_t**

Máscara de bits de atributos de archivo que hacen que los archivos se excluyan de la copia. Establézcala en `0` para no filtrar por atributos. Para obtener más información sobre los atributos de archivo, consulte [Constantes de atributos de archivo](https://learn.microsoft.com/windows/win32/fileio/file-attribute-constants).

`includeDirectoryAttributes`\
Tipo: **uint32\_t**

**Introducido en:** [RIT 0.0.13-preview](https://docs.xbox.com/es/reference/remoting/release-versions.md#release-versions).

Máscara de bits de atributos de directorio. Los directorios con cualquiera de los atributos especificados se incluyen en la copia. Es lo mismo que `includeFileAttributes` aplicado a directorios. Establézcala en `0` para no filtrar por atributos.

`excludeDirectoryAttributes`\
Tipo: **uint32\_t**

**Introducido en:** [RIT 0.0.13-preview](https://docs.xbox.com/es/reference/remoting/release-versions.md#release-versions).

Máscara de bits de atributos de directorio que hacen que los directorios se excluyan de la copia. Es lo mismo que `excludeFileAttributes` aplicado a directorios. Establézcala en `0` para no filtrar por atributos.

## Ejemplos

Los siguientes ejemplos de patrones de nombre usan `CopyTo`.

**Copiar solo archivos `.exe` y `.dll`:**

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

**Excluir de la copia los directorios denominados `temp`:**

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

**Copiar solo archivos de solo lectura o del sistema y excluir los archivos ocultos:**

```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
};
```

**Omitir solo los directorios ocultos:**

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

> [!NOTE]
>
> Cuando hay un conflicto entre los patrones de inclusión y exclusión, el patrón de exclusión tiene prioridad y el archivo no se copia.

## Comentarios

Pase esta estructura a [WdRemoteCopy](https://docs.xbox.com/es/reference/remoting/functions/wdremotecopy.md) mediante el parámetro `searchOptions` para filtrar qué archivos y directorios se incluyen en la operación de copia. Si se pasa `nullptr` para `searchOptions`, se copian todos los archivos sin filtrar.

## Historial de cambios

| Versión | Cambio |
| - | - |
| [RIT 0.0.13-preview](https://docs.xbox.com/es/reference/remoting/release-versions.md#release-versions) | Se cambiaron `includeFileAttributes` y `excludeFileAttributes` de `uint64_t` a `uint32_t`. Se agregaron `includeDirectoryAttributes` y `excludeDirectoryAttributes`, ambos de tipo `uint32_t`. |
| [RIT 0.0.8-Preview](https://docs.xbox.com/es/reference/remoting/release-versions.md#release-versions) | Se introdujeron los tres campos de patrón de nombre y dos máscaras de atributos de archivo `uint64_t`. |

Los cambios de RIT 0.0.13-preview alteran el diseño de la estructura. Vuelva a compilar los autores de llamadas nativos con el encabezado y la biblioteca del paquete NuGet de la API correspondiente; no pase el diseño de estructura anterior al archivo DLL de la API más reciente.

## Requisitos

| Requisito | Valor |
| - | - |
| **Encabezado** | WdRemoteIteration.h |
| **Biblioteca** | wdremoteapi.lib |
| **Sistemas operativos compatibles** | Windows 11 y versiones posteriores |
| **Arquitecturas compatibles** | x64, ARM64 |

## Consulte también

* [WdRemoteCopy](https://docs.xbox.com/es/reference/remoting/functions/wdremotecopy.md)
* [API XBOX PC Remote Iteration](https://docs.xbox.com/es/reference/remoting/remoteiteration_members.md)


## Related topics

- [WdRemoteCopy](https://docs.xbox.com/es/reference/remoting/functions/wdremotecopy.md)
- [API XBOX PC Remote Iteration](https://docs.xbox.com/es/reference/remoting/remoteiteration_members.md)
- [WdCopyOptions](https://docs.xbox.com/es/reference/remoting/structs/wdcopyoptions.md)
- [WdDeleteSearchOptions](https://docs.xbox.com/es/reference/remoting/structs/wddeletesearchoptions.md)
- [WdDeleteRemoteFiles](https://docs.xbox.com/es/reference/remoting/functions/wddeleteremotefiles.md)
