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

# XPackageChunkSelector

> XPackageChunkSelector

# XPackageChunkSelector

Define os critérios para selecionar um conjunto de partes.

<a id="syntaxSection" />

## Sintaxe

```cpp theme={null}
typedef struct XPackageChunkSelector {  
    XPackageChunkSelectorType type;  
    union  
    {  
        const char* language;  
        const char* tag;  
        const char* feature;  
        uint32_t chunkId;  
    };  
} XPackageChunkSelector  
```

<a id="membersSection" />

### Membros

*type*\
Tipo: [XPackageChunkSelectorType](/pt-BR/reference/system/xpackage/enums/xpackagechunkselectortype)

O tipo do seletor.

*language*\
Tipo: const char\*

O atributo de idioma a ser correspondido, como "en-US" inglês (Estados Unidos) ou "fr-FR" francês (França).

*tag*\
Tipo: const char\*

Um atributo de marca a ser correspondido, como *BigMap* ou *SmallMap*.

*feature*\
Tipo: const char\*

O recurso a ser correspondido, como "BigMaps".

*chunkId*\
Tipo: uint32\_t

O número da parte a ser correspondido.

<a id="remarksSection" />

## Comentários

Uma matriz de objetos `XPackageChunkSelector` é usada para selecionar um conjunto de partes para muitas operações na API de instalação. Esta seção descreve as regras usadas para transformar uma matriz de objetos `XPackageChunkSelector` em um conjunto de IDs de partes. Cada `XPackageChunkSelector` tem um tipo de seletor e um valor de seletor. Uma parte será incluída se todos os especificadores de parte definidos nela corresponderem a todos os seletores de instalação.

Os pacotes contêm todos os arquivos que compõem um jogo. Os arquivos podem ser agrupados em unidades lógicas chamadas partes. Uma parte tem uma ID numérica e também pode ter zero ou mais atributos textuais, como um idioma ou uma marca definida pelo usuário. Muitas APIs de XPackage operam em grupos de partes. Essas APIs usam uma matriz de `XPackageChunkSelectors` para descrever quais partes a API usará. Esta seção descreve as regras usadas para transformar uma matriz de objetos `XPackageChunkSelector` em uma matriz de IDs de partes. Cada `XPackageChunkSelector` tem um tipo de seletor e um valor de seletor. Uma parte será incluída se todos os atributos definidos nela corresponderem a todos os seletores de partes.

Na tabela a seguir, a matriz de seletores de partes tem dois seletores: idioma e uma marca.

| Tipo de seletor | Valor do seletor |
| - | - |
| Idioma | en-US |
| Marca | BigMap |

A tabela a seguir é um exemplo de definição de um conjunto de partes com vários atributos.

| Parte | Idioma | Marca |
| - | - | - |
| 1 | en-US | (nenhuma) |
| 2 | en-US; fr-FR | (nenhuma) |
| 3 | fr-FR | (nenhuma) |
| 4 | fr-FR | BigMap |
| 5 | fr-FR; en-US | BigMap; SmallMap |
| 6 | en-US | SmallMap |

Com base na tabela anterior, as partes selecionadas pela matriz de seletores de partes usam os atributos de parte 1, 2 e 5. As partes que não são selecionadas pelo seletor de partes usam os atributos de parte 3, 4 e 6.

Para dar alguma perspectiva a este exemplo de matriz de partes:

* Um tipo de seletor de parte é correspondido com um atributo de parte somente se esse especificador estiver definido na parte. As partes 1 a 3 não têm marca definida, portanto, o seletor de partes do tipo marca é ignorado para essas partes.
* Uma parte pode definir mais de um valor para um atributo separando vários valores com ponto e vírgula. Apenas um valor precisa corresponder.
* Se qualquer tipo de seletor de parte for rejeitado, a parte será rejeitada, independentemente de quantos outros seletores corresponderam. A parte 6 é rejeitada porque SmallMap não corresponde a BigMap, embora o idioma corresponda.

Um valor de seletor de parte pode conter vários valores separados por ponto e vírgula, assim como uma parte pode em seu arquivo de layout. Além disso, é válido definir uma matriz com o mesmo tipo de seletor de parte mais de uma vez.

Estes são equivalentes, conforme mostrado no exemplo de código a seguir:

```cpp theme={null}
XPackageChunkSelector selectors1[] =  
{
    { XPackageChunkSelectorType::Language, "en-US" },
    { XPackageChunkSelectorType::Language, "fr-FR" }
};
  
XPackageChunkSelector selectors2[] =  
{ 
    { XPackageChunkSelectorType::Language, "en-US;fr-FR" },
};
```

A plataforma pode filtrar ainda mais o conjunto de regiões correspondentes. Por exemplo, você pode adicionar um atributo `Devices` a uma parte para torná-la disponível somente em um determinado conjunto de consoles. As partes selecionadas serão incluídas somente se também corresponderem aos atributos do sistema. Se você quiser instalar o alemão, mas seu pacote tiver uma parte em alemão disponível somente em consoles XBOX One X, o monitor de instalação não incluirá essa parte em seu monitoramento em um console XBOX One. Se incluísse, a instalação do alemão não seria concluída.

Para obter informações sobre a tecnologia de empacotamento usada com títulos do XBOX One, consulte [Visão geral do empacotamento](/pt-BR/build/core-features/common/packaging/overviews/packaging). Para obter informações sobre as etapas para criar um pacote XVC, consulte [Introdução ao empacotamento de títulos para consoles XBOX](/pt-BR/build/core-features/common/packaging/overviews/packaging-getting-started-for-console).

<a id="requirementsSection" />

## Requisitos

**Cabeçalho:** XPackage.h

**Plataformas compatíveis:** Windows, consoles da família XBOX One e consoles XBOX Series

<a id="seealsoSection" />

## Documentação conceitual

* [Intelligent Delivery: especificadores de marca personalizados](/pt-BR/build/core-features/common/packaging/intelligentdelivery-custom)
* [Intelligent Delivery: recursos e receitas](/pt-BR/build/core-features/common/packaging/intelligentdelivery-features-recipes)
* [Intelligent Delivery: especificadores de idioma](/pt-BR/build/core-features/common/packaging/intelligentdelivery-language)

## Confira também

[Instalação por streaming e Intelligent Delivery](/pt-BR/build/core-features/common/packaging/overviews/streaming_install-intelligent_delivery)\
[XPackage](/pt-BR/reference/system/xpackage/xpackage_members)


## Related topics

- [XPackageChunkSelector](/reference/system/xpackage/structs/xpackagechunkselector.md)
- [XPackageChunkAvailabilityCallback](/reference/system/xpackage/functions/xpackagechunkavailabilitycallback.md)
- [XPackageUninstallChunks](/reference/system/xpackage/functions/xpackageuninstallchunks.md)
- [XPackageFindChunkAvailability](/reference/system/xpackage/functions/xpackagefindchunkavailability.md)
- [XPackageChangeChunkInstallOrder](/reference/system/xpackage/functions/xpackagechangechunkinstallorder.md)
