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

# XGameStreamingGetTouchBundleVersion

> XGameStreamingGetTouchBundleVersion

# XGameStreamingGetTouchBundleVersion

Obtiene la versión del paquete de adaptación táctil que se está utilizando actualmente en el dispositivo especificado.

## Sintaxis

```cpp theme={null}
HRESULT XGameStreamingGetTouchBundleVersion(  
        XGameStreamingClientId client,
        XVersion* version,
        size_t versionNameSize,
        char* versionName
)  
```

### Parámetros

*client*   \_In\_\
Tipo: XGameStreamingClientId

El cliente de streaming que se está consultando.

*version*   \_Out\_opt\_\
Tipo: XVersion\*

El número de versión del paquete que se está usando actualmente en el cliente especificado. Si no se especifica ningún número de versión en el paquete, se devolverá 0.0.0.0.

*versionNameSize*   \_In\_\
Tipo: size\_t

El tamaño máximo en bytes del `versionName` que se devolverá. El tamaño que se especifica se puede obtener llamando a [XGameStreamingGetTouchBundleVersionNameSize](/reference/system/xgamestreaming/functions/xgamestreaminggettouchbundleversionnamesize).

*versionName*   \_Out\_writes\_opt\_z\_\
Tipo: char\*

El nombre de versión del paquete que se está usando actualmente en el cliente especificado. Si no se especifica ningún nombre de versión en el paquete, se devolverá `null`.

### Valor devuelto

Tipo: HRESULT

Devuelve **S\_OK** si se realiza correctamente; de lo contrario, devuelve un código de error.

#### Posibles errores

| Código de error                          | Valor de error | Motivo del error                                                                                                                                                                                      |
| ---------------------------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| E\_GAMESTREAMING\_NOT\_INITIALIZED       | 0x89245400     | El entorno de ejecución de XGameStreaming no se ha inicializado. Llame a [XGameStreamingInitialize](/reference/system/xgamestreaming/functions/xgamestreaminginitialize) antes de llamar a otras API. |
| E\_GAMESTREAMING\_CLIENT\_NOT\_CONNECTED | 0x89245401     | El cliente especificado no está conectado.                                                                                                                                                            |

Para obtener una lista de códigos de error, consulte [Códigos de error](/reference/errorcodes).

## Comentarios

Los diseños táctiles que se presentan al jugador durante el streaming de juegos usan diseños predefinidos que se cargan en Microsoft como parte de un paquete de adaptación táctil. `XGameStreamingGetTouchBundleVersion` permite al juego tomar decisiones en tiempo de ejecución en función del conjunto de controles táctiles que se están utilizando en un cliente determinado. Algunos ejemplos de dónde podría utilizarse:

* Para quitar un elemento del HUD si el jugador usa la entrada táctil y el elemento está disponible a través de los controles de superposición táctil.
* Para decidir qué sugerencias gráficas mostrar en el juego en función de los diseños táctiles que se mostrarán.

El valor de `version` será único por cada versión que se cargue en el servicio. Cada actualización requerirá un nuevo número de versión.

El `versionName` se puede usar para proporcionar una versión semántica (por ejemplo, este es un conjunto de diseños que admiten DLC2) en lugar de bloquearse a un número de versión específico. Por ejemplo, si su sistema de compilación asigna automáticamente los números de versión, puede resultar difícil para el código del juego conocer el número de versión exacto de los paquetes de adaptación táctil que aparecerán en tiempo de ejecución. Para permitir que el código detecte la presencia de un paquete sin tener que conocer su versión exacta, puede optar por usar un nombre de versión en lugar de hacer comparaciones basadas en un número de versión.

## Ejemplo

```C++ theme={null}
void GameStreamingClientManager::GetClientTouchBundleVersion(XGameStreamingClientId client)
{
    // Get the touch bundle version and initialize the touch HUD based on the 
    // semantic version name that was returned
    
    size_t versionNameSize = XGameStreamingGetTouchBundleVersionNameSize(clientId);

    XVersion version{};
    std::vector<char> versionName(versionNameSize, 0);
    XGameStreamingGetTouchBundleVersion(clientId, &version, versionNameSize, &versionName[0]);

    InitializeTouchHUD(versionName);

    if (strcmp("DLC2", versionName.data()) == 0)
    {
        // we have our DLC2 controls, switch to the HUD layout that works best with those overlay controls.
        InitializeHUDForDLC2TouchControls();
    }
}
```

## Requisitos

**Encabezado:** XGameStreaming.h

**Biblioteca:** xgameruntime.lib

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

## Consulte también

[XGameStreaming](/reference/system/xgamestreaming/xgamestreaming_members#ClientProperties)\
[XGameStreamingGetTouchBundleVersionNameSize](/reference/system/xgamestreaming/functions/xgamestreaminggettouchbundleversionnamesize)


## Related topics

- [XGameStreamingGetTouchBundleVersionNameSize](/es/reference/system/xgamestreaming/functions/xgamestreaminggettouchbundleversionnamesize.md)
- [XGameStreamingClientProperty](/es/reference/system/xgamestreaming/enums/xgamestreamingclientproperty.md)
- [XGameStreaming](/es/reference/system/xgamestreaming/xgamestreaming_members.md)
- [Comando pack](/es/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line-pack-command.md)
- [Contenedores de API de C# de Unity para el GDK](/es/build/gdk-and-engines/unity/unity-api-wrappers.md)
