> ## 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 du bundle 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 streaming interrogé.

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

Numéro de version du bundle actuellement utilisé sur le client spécifié.  Si aucun numéro de version n'est spécifié dans le bundle, 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/reference/system/xgamestreaming/functions/xgamestreaminggettouchbundleversionnamesize).

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

Nom de version du bundle actuellement utilisé sur le client spécifié.  Si aucun nom de version n'est spécifié dans le bundle, `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/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/reference/errorcodes).

## Remarques

Les dispositions tactiles présentées au joueur pendant le streaming de jeux utilisent des dispositions prédéfinies chargées sur les serveurs de Microsoft dans le cadre d'un bundle d'adaptation tactile. `XGameStreamingGetTouchBundleVersion` permet au jeu de prendre des décisions au moment de l'exécution en fonction de l'ensemble de contrôles tactiles utilisés sur un client particulier.  Voici quelques exemples d'utilisation :

* Retirer un élément du HUD si le joueur utilise l'écran tactile et que l'élément est disponible via les contrôles tactiles superposés.
* Choisir les indications graphiques à afficher dans le jeu en fonction des dispositions tactiles qui seront affichées.

La valeur `version` est unique pour chaque version chargée sur le service.  Chaque mise à jour nécessite un nouveau numéro de version.

Le `versionName` peut servir à fournir une version sémantique (par exemple, il s'agit d'un ensemble de dispositions qui prennent en charge le DLC2) plutôt que de dépendre d'un numéro de version spécifique. 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 bundles d'adaptation tactile qui apparaîtront au moment de l'exécution. Pour permettre au code de détecter la présence d'un bundle sans devoir connaître sa version exacte, vous pouvez choisir d'utiliser un nom de version au lieu d'effectuer des comparaisons basé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/reference/system/xgamestreaming/xgamestreaming_members#ClientProperties)\
[XGameStreamingGetTouchBundleVersionNameSize](/fr/reference/system/xgamestreaming/functions/xgamestreaminggettouchbundleversionnamesize)


## Related topics

- [XGameStreamingGetTouchBundleVersion](/es/reference/system/xgamestreaming/functions/xgamestreaminggettouchbundleversion.md)
- [XGameStreamingGetTouchBundleVersionNameSize](/reference/system/xgamestreaming/functions/xgamestreaminggettouchbundleversionnamesize.md)
- [XGameStreamingClientProperty](/reference/system/xgamestreaming/enums/xgamestreamingclientproperty.md)
- [XGameStreaming](/reference/system/xgamestreaming/xgamestreaming_members.md)
- [Pack Command](/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line-pack-command.md)
