> ## 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 los criterios para seleccionar un conjunto de fragmentos.

<a id="syntaxSection" />

## Sintaxis

```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" />

### Miembros

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

El tipo del selector.

*language*\
Tipo: const char\*

El atributo de idioma con el que se debe coincidir, como "en-US" inglés (Estados Unidos) o "fr-FR" francés (Francia).

*tag*\
Tipo: const char\*

Un atributo de etiqueta con el que se debe coincidir, como *BigMap* o *SmallMap*.

*feature*\
Tipo: const char\*

La característica con la que se debe coincidir, como "BigMaps".

*chunkId*\
Tipo: uint32\_t

El número de fragmento con el que se debe coincidir.

<a id="remarksSection" />

## Comentarios

Se usa una matriz de objetos `XPackageChunkSelector` para seleccionar un conjunto de fragmentos en muchas operaciones de la API de instalación. En esta sección se describen las reglas que se usan para transformar una matriz de objetos `XPackageChunkSelector` en un conjunto de identificadores de fragmentos. Cada `XPackageChunkSelector` tiene un tipo de selector y un valor de selector. Un fragmento se incluye si todos los especificadores de fragmento definidos en el fragmento coinciden con todos los selectores de instalación.

Los paquetes contienen todos los archivos que componen un juego. Los archivos se pueden agrupar en unidades lógicas denominadas fragmentos. Un fragmento tiene un identificador numérico y también puede tener cero o más atributos textuales, como un idioma o una etiqueta definida por el usuario. Muchas API de XPackage operan sobre grupos de fragmentos. Estas API usan una matriz de `XPackageChunkSelectors` para describir qué fragmentos usará la API. En esta sección se describen las reglas que se usan para transformar una matriz de objetos `XPackageChunkSelector` en una matriz de identificadores de fragmentos. Cada `XPackageChunkSelector` tiene un tipo de selector y un valor de selector. Un fragmento se incluye si todos los atributos definidos en el fragmento coinciden con todos los selectores de fragmentos.

En la tabla siguiente, la matriz de selectores de fragmentos tiene dos selectores: idioma y una etiqueta.

| Tipo de selector | Valor del selector |
| ---------------- | ------------------ |
| Idioma           | en-US              |
| Etiqueta         | BigMap             |

La tabla siguiente es un ejemplo de definición de un conjunto de fragmentos con varios atributos.

| Fragmento | Idioma       | Etiqueta         |
| --------- | ------------ | ---------------- |
| 1         | en-US        | (ninguna)        |
| 2         | en-US; fr-FR | (ninguna)        |
| 3         | fr-FR        | (ninguna)        |
| 4         | fr-FR        | BigMap           |
| 5         | fr-FR; en-US | BigMap; SmallMap |
| 6         | en-US        | SmallMap         |

En referencia a la tabla anterior, los fragmentos seleccionados por la matriz de selectores de fragmentos usan los atributos de fragmento 1, 2 y 5. Los fragmentos que no son seleccionados por el selector de fragmentos usan los atributos de fragmento 3, 4 y 6.

Para dar cierta perspectiva a este ejemplo de matriz de fragmentos:

* Un tipo de selector de fragmentos se compara con un atributo de fragmento solo si ese especificador está definido en el fragmento. Los fragmentos 1 a 3 no tienen ninguna etiqueta definida, por lo que el selector de fragmentos con un tipo de etiqueta se omite para estos fragmentos.
* Un fragmento puede definir más de un valor para un atributo separando varios valores con puntos y comas. Solo es necesario que coincida un valor.
* Si se rechaza algún tipo de selector de fragmentos, el fragmento se rechaza sin importar cuántos otros selectores coincidieran. El fragmento 6 se rechaza porque SmallMap no coincide con BigMap, aunque el idioma sí coincide.

Un valor de selector de fragmentos puede contener varios valores separados por puntos y comas, igual que un fragmento en su archivo de diseño. Además, es válido definir una matriz con el mismo tipo de selector de fragmentos más de una vez.

Estos son equivalentes, como se muestra en el ejemplo de código siguiente:

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

La plataforma puede filtrar aún más el conjunto de regiones que coinciden. Por ejemplo, puede agregar un atributo `Devices` a un fragmento para que esté disponible solo en un conjunto determinado de consolas. Los fragmentos que seleccione se incluirán solo si también coinciden con los atributos del sistema. Si desea instalar alemán pero su paquete tiene un fragmento en alemán disponible solo en consolas XBOX One X, el monitor de instalación no incluirá este fragmento en su supervisión en una consola XBOX One. Si lo hiciera, la instalación para alemán no se completaría.

Para obtener información sobre la tecnología de empaquetado que se usa con los títulos de XBOX One, consulte [Información general sobre el empaquetado](/build/core-features/common/packaging/overviews/packaging). Para obtener información sobre los pasos para crear un paquete XVC, consulte [Introducción al empaquetado de títulos para consolas XBOX](/build/core-features/common/packaging/overviews/packaging-getting-started-for-console).

<a id="requirementsSection" />

## Requisitos

**Encabezado:** XPackage.h

**Plataformas compatibles:** Windows, consolas de la familia XBOX One y consolas XBOX Series

<a id="seealsoSection" />

## Documentación conceptual

* [Entrega inteligente: especificadores de etiquetas personalizadas](/build/core-features/common/packaging/intelligentdelivery-custom)
* [Entrega inteligente: características y recetas](/build/core-features/common/packaging/intelligentdelivery-features-recipes)
* [Entrega inteligente: especificadores de idioma](/build/core-features/common/packaging/intelligentdelivery-language)

## Consulte también

[Instalación de streaming y entrega inteligente](/build/core-features/common/packaging/overviews/streaming_install-intelligent_delivery)\
[XPackage](/reference/system/xpackage/xpackage_members)


## Related topics

- [XPackageChunkAvailabilityCallback](/es/reference/system/xpackage/functions/xpackagechunkavailabilitycallback.md)
- [XPackageUninstallChunks](/es/reference/system/xpackage/functions/xpackageuninstallchunks.md)
- [XPackageFindChunkAvailability](/es/reference/system/xpackage/functions/xpackagefindchunkavailability.md)
- [XPackageChangeChunkInstallOrder](/es/reference/system/xpackage/functions/xpackagechangechunkinstallorder.md)
- [XPackageInstallChunks](/es/reference/system/xpackage/functions/xpackageinstallchunks.md)
