> ## 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

Especifica padrões de filtro de arquivos e diretórios para uma operação de cópia.

**Introduzida em:** [RIT 0.0.8-Preview](/pt-BR/reference/remoting/release-versions#release-versions). Os tipos e a disponibilidade dos membros variam conforme a versão; confira o [Histórico de alterações](#change-history).

<Warning>Para `CopyFrom`, os padrões de nome afetam somente a enumeração delta local; eles não restringem a seleção de arquivos remotos.</Warning>

## Sintaxe

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

### Membros

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

Um padrão glob que especifica quais arquivos incluir na operação de cópia (por exemplo, `"*"` para incluir todos os arquivos ou `"*.exe;*.dll"` para incluir somente executáveis e DLLs).

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

Um padrão glob que especifica quais arquivos excluir da operação de cópia (por exemplo, `"*.pdb"` para excluir símbolos de depuração).

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

Um padrão glob que especifica nomes de diretórios, não caminhos, a serem excluídos da operação de cópia (por exemplo, `".vs;obj"` para excluir os diretórios do Visual Studio e de saída de build).

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

Uma máscara de bits de atributos de arquivo. Os arquivos com qualquer um dos atributos especificados são incluídos na cópia. Defina como `0` para não filtrar por atributos. Para obter informações adicionais sobre atributos de arquivo, confira [Constantes de atributo de arquivo](https://learn.microsoft.com/windows/win32/fileio/file-attribute-constants).

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

Uma máscara de bits de atributos de arquivo que fazem com que os arquivos sejam excluídos da cópia. Defina como `0` para não filtrar por atributos. Para obter informações adicionais sobre atributos de arquivo, confira [Constantes de atributo de arquivo](https://learn.microsoft.com/windows/win32/fileio/file-attribute-constants).

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

**Introduzido em:** [RIT 0.0.13-preview](/pt-BR/reference/remoting/release-versions#release-versions).

Uma máscara de bits de atributos de diretório. Os diretórios com qualquer um dos atributos especificados são incluídos na cópia. É o mesmo que `includeFileAttributes` aplicado a diretórios. Defina como `0` para não filtrar por atributos.

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

**Introduzido em:** [RIT 0.0.13-preview](/pt-BR/reference/remoting/release-versions#release-versions).

Uma máscara de bits de atributos de diretório que fazem com que os diretórios sejam excluídos da cópia. É o mesmo que `excludeFileAttributes` aplicado a diretórios. Defina como `0` para não filtrar por atributos.

## Exemplos

Os exemplos de padrões de nome abaixo usam `CopyTo`.

**Copiar somente arquivos `.exe` e `.dll`:**

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

**Excluir da cópia os diretórios chamados `temp`:**

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

**Copiar somente arquivos somente leitura ou do sistema e excluir arquivos 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
};
```

**Ignorar somente diretórios ocultos:**

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

<Note>Quando houver conflito entre os padrões de inclusão e exclusão, o padrão de exclusão terá precedência e o arquivo não será copiado.  </Note>

## Comentários

Passe essa estrutura para [WdRemoteCopy](/pt-BR/reference/remoting/functions/wdremotecopy) por meio do parâmetro `searchOptions` para filtrar quais arquivos e diretórios são incluídos na operação de cópia. Se `nullptr` for passado para `searchOptions`, todos os arquivos serão copiados sem filtragem.

## Histórico de alterações

| Versão | Alteração |
| - | - |
| [RIT 0.0.13-preview](/pt-BR/reference/remoting/release-versions#release-versions) | `includeFileAttributes` e `excludeFileAttributes` foram alterados de `uint64_t` para `uint32_t`. Foram adicionados `includeDirectoryAttributes` e `excludeDirectoryAttributes`, ambos `uint32_t`. |
| [RIT 0.0.8-Preview](/pt-BR/reference/remoting/release-versions#release-versions) | Introdução dos três campos de padrão de nome e de duas máscaras de atributos de arquivo `uint64_t`. |

As alterações do RIT 0.0.13-preview modificam o layout da estrutura. Recompile os chamadores nativos com o cabeçalho e a biblioteca do pacote NuGet da API correspondente; não passe o layout de estrutura antigo para a DLL da API mais recente.

## Requisitos

| Requisito | Valor |
| - | - |
| **Cabeçalho** | WdRemoteIteration.h |
| **Biblioteca** | wdremoteapi.lib |
| **SO com suporte** | Windows 11 e posterior |
| **Arquiteturas com suporte** | x64, ARM64 |

## Confira também

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


## Related topics

- [WdCopySearchOptions](/reference/remoting/structs/wdcopysearchoptions.md)
- [WdRemoteCopy](/ko/reference/remoting/functions/wdremotecopy.md)
