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

Obtient la version de l'ensemble d'adaptation tactile actuellement utilisé sur l'appareil spécifié.

## Syntaxe

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

### Paramètres

*client*   \_In\_\
Type : XGameStreamingClientId

Client de diffusion en continu interrogé.

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

Numéro de version de l'ensemble actuellement utilisé sur le client spécifié. Si aucun numéro de version n'est spécifié dans l'ensemble, 0.0.0.0 est retourné.

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

Taille maximale en octets du `versionName` à retourner. La taille à spécifier peut être obtenue en appelant [XGameStreamingGetTouchBundleVersionNameSize](/fr-CA/reference/system/xgamestreaming/functions/xgamestreaminggettouchbundleversionnamesize).

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

Nom de version de l'ensemble actuellement utilisé sur le client spécifié. Si aucun nom de version n'est spécifié dans l'ensemble, `null` est retourné.

### Valeur de retour

Type : HRESULT

Retourne **S\_OK** en cas de réussite; sinon, retourne un code d'erreur.

#### Erreurs potentielles

| Code d'erreur | Valeur d'erreur | Cause de l'erreur |
| - | - | - |
| E\_GAMESTREAMING\_NOT\_INITIALIZED | 0x89245400 | Le runtime XGameStreaming n'a pas été initialisé. Appelez [XGameStreamingInitialize](/fr-CA/reference/system/xgamestreaming/functions/xgamestreaminginitialize) avant d'appeler d'autres API. |
| E\_GAMESTREAMING\_CLIENT\_NOT\_CONNECTED | 0x89245401 | Le client spécifié n'est pas connecté. |

Pour obtenir la liste des codes d'erreur, consultez [Codes d'erreur](/fr-CA/reference/errorcodes).

## Remarques

Les dispositions tactiles présentées au joueur pendant la diffusion du jeu en continu utilisent des dispositions prédéfinies qui sont téléversées à Microsoft dans le cadre d'un ensemble d'adaptation tactile. `XGameStreamingGetTouchBundleVersion` permet au jeu de prendre des décisions à l'exécution en fonction de l'ensemble de contrôles tactiles utilisé sur un client donné. Voici quelques exemples d'utilisation :

* Retirer un élément du HUD si le joueur utilise l'écran tactile et que l'élément est accessible au moyen des contrôles tactiles en superposition.
* Décider quels indices graphiques afficher dans le jeu en fonction des dispositions tactiles qui seront affichées.

La `version` est unique pour chaque version téléversée au service. Chaque mise à jour nécessite un nouveau numéro de version.

Le `versionName` peut servir à fournir une version sémantique (p. ex., il s'agit d'un ensemble de dispositions qui prend en charge le DLC2) plutôt que de se lier à un numéro de version précis. Par exemple, si les numéros de version sont attribués automatiquement par votre système de génération, il peut être difficile pour le code du jeu de connaître le numéro de version exact des ensembles d'adaptation tactile qui apparaîtront à l'exécution. Pour permettre au code de détecter la présence d'un ensemble sans avoir à connaître sa version exacte, vous pouvez choisir d'utiliser un nom de version plutôt que d'effectuer des comparaisons fondées sur un numéro de version.

## Exemple

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

## Configuration requise

**En-tête :** XGameStreaming.h

**Bibliothèque :** xgameruntime.lib

**Plateformes prises en charge** : Windows, consoles de la famille XBOX One et consoles XBOX Series

## Voir aussi

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


## Related topics

- [XGameStreamingGetTouchBundleVersion](/es/reference/system/xgamestreaming/functions/xgamestreaminggettouchbundleversion.md)
- [XGameStreamingGetTouchBundleVersionNameSize](/reference/system/xgamestreaming/functions/xgamestreaminggettouchbundleversionnamesize.md)
