> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GameInput sur les consoles XBOX

> Décrit les versions de l'API GameInput disponibles sur les consoles XBOX pour chaque version du GDK, et comment utiliser des versions plus récentes avec le package NuGet et le chargement latéral.

Sur les consoles XBOX, le runtime GameInput fait partie du Microsoft Game Development Kit (GDK). Il est inclus dans le fichier du Game OS (`GameOs.xvd`) du GDK fourni avec votre titre. Les versions de l'API GameInput que votre jeu peut utiliser à l'exécution dépendent de la version du GDK, de l'en-tête et de la bibliothèque GameInput avec lesquels vous effectuez la compilation, et du déploiement éventuel d'un runtime GameInput avec votre jeu.

Il existe deux façons d'utiliser une version plus récente de l'API GameInput sur XBOX :

* **Mettre à jour le GDK.** Chaque version du GDK comprend un runtime GameInput qui prend en charge un ensemble précis de versions de l'API.
* **Charger latéralement le runtime GameInput.** Déployez le runtime GameInput du package NuGet [Microsoft.GameInput](https://www.nuget.org/packages/Microsoft.GameInput) avec votre jeu pour utiliser une version d'API plus récente que celle prise en charge par votre GDK.

Dans les deux cas, vous devez effectuer la compilation avec les en-têtes et la bibliothèque du package NuGet pour utiliser l'API v1 ou une version ultérieure.

## Versions de l'API prises en charge

Le tableau suivant présente les versions de l'API disponibles pour chaque version du GDK.

| Version du GDK | En-tête et bibliothèque du GDK | En-tête et bibliothèque NuGet | En-tête et bibliothèque NuGet, et runtime chargé latéralement |
| - | - | - | - |
| Antérieure au GDK d'octobre 2025 (2510) | v0 | Non pris en charge | Non pris en charge |
| GDK d'octobre 2025 (2510) et versions ultérieures, antérieures au GDK d'octobre 2026 | v0 | v0 à v3 | v0 à v4 |
| GDK d'octobre 2026 (2610) et versions ultérieures | v0 | v0 à v4 | v0 à v4 |

Les en-têtes et la bibliothèque du GDK fournissent uniquement l'API v0, quelle que soit la version du GDK. Le package NuGet n'est pas pris en charge avec les versions du GDK antérieures au GDK d'octobre 2025.

## Utiliser l'API v1 ou une version ultérieure

Pour utiliser l'API v1 ou une version ultérieure, ajoutez le package NuGet [Microsoft.GameInput](https://www.nuget.org/packages/Microsoft.GameInput) à votre projet, puis effectuez la compilation et l'édition de liens avec ses en-têtes et `GameInput.lib` au lieu de ceux du GDK. La version majeure du package NuGet correspond à la version d'API la plus élevée que définissent ses en-têtes. Par exemple, le package 4.x comprend l'API v4. Pour plus d'informations, consultez [GameInput pour PC et console avec NuGet](https://docs.xbox.com/fr-CA/build/core-features/common/input/overviews/input-nuget.md).

Vous n'avez rien d'autre à installer sur la console. Si vous effectuez uniquement l'édition de liens avec `GameInput.lib` du package NuGet, votre jeu utilise le runtime GameInput inclus avec le GDK, et les versions d'API prises en charge par ce runtime sont limitées par la version du GDK, comme l'indique le tableau [Versions de l'API prises en charge](#supported-api-versions).

## Utiliser l'API v4 avec un GDK antérieur

Pour utiliser l'API v4 avec une version du GDK allant du GDK d'octobre 2025 jusqu'au GDK d'octobre 2026, exclusivement, chargez latéralement le runtime GameInput :

1. Ajoutez la version 4.0 ou une version ultérieure du package NuGet [Microsoft.GameInput](https://www.nuget.org/packages/Microsoft.GameInput) à votre projet, puis effectuez la compilation et l'édition de liens avec ses en-têtes et `GameInput.lib`.
2. Déployez `GameInputRedist.dll` à partir du répertoire `native\bin\xbox\` du package dans le même répertoire que l'exécutable de votre jeu.

L'édition de liens avec `GameInput.lib` du package NuGet ne suffit pas à elle seule. Sans le runtime chargé latéralement, votre jeu utilise le runtime du GDK, qui ne prend pas en charge l'API v4 avant le GDK d'octobre 2026. Dans ce cas, les demandes de l'API v4 échouent avec `E_NOINTERFACE`, et les versions v0 à v3 de l'API continuent de fonctionner.

> [!WARNING]
>
> Le package NuGet contient des copies distinctes de `GameInputRedist.dll` pour PC et pour XBOX. Déployez uniquement la copie de `native\bin\xbox\` avec votre jeu XBOX. Pour plus d'informations, consultez [Chargement latéral de GameInput](https://docs.xbox.com/fr-CA/build/core-features/common/input/overviews/input-agility-redistributable.md).

## Choix du runtime

Le chargement latéral du runtime GameInput est pris en charge sur les consoles XBOX ainsi que sur PC. Sur XBOX, lorsque votre jeu crée GameInput pour la première fois, `GameInput.lib` du package NuGet compare le runtime GameInput du Game OS fourni avec votre titre au runtime chargé latéralement, s'il y en a un de déployé, et utilise le runtime dont la version est la plus élevée. Par conséquent :

* Un runtime chargé latéralement plus récent que le runtime du GDK met à la disposition de votre jeu des versions d'API et des correctifs plus récents.
* Lorsque votre jeu passe à une version du GDK qui comprend un runtime plus récent que le runtime chargé latéralement, votre jeu utilise le runtime du GDK. Vous pouvez continuer à déployer le runtime chargé latéralement, ou le retirer lorsqu'il n'est plus plus récent que le runtime du GDK.

Les limitations du chargement latéral propres au PC, comme celles qui concernent les entrées en arrière-plan et le focus d'entrée, ne s'appliquent pas aux consoles XBOX. Pour plus d'informations sur le chargement latéral sur les deux plateformes, consultez [Chargement latéral de GameInput](https://docs.xbox.com/fr-CA/build/core-features/common/input/overviews/input-agility-redistributable.md).

## Vérifier quelle version de l'API est disponible

Si votre jeu demande une version d'API que le runtime ne prend pas en charge, GameInput échoue avec `E_NOINTERFACE`. Cela s'applique à la fois à [GameInputCreate](https://docs.xbox.com/fr-CA/reference/input/gameinput/functions/gameinputcreate.md) et à `QueryInterface`. Si votre jeu peut s'exécuter sans la plus récente version de l'API, vérifiez cette erreur et rabattez-vous sur les fonctionnalités d'une version antérieure.

```cpp theme={null}
#include <GameInput.h>

GameInput::v4::IGameInput* gameInput = nullptr;
HRESULT hr = GameInput::v4::GameInputCreate(&gameInput);
if (hr == E_NOINTERFACE)
{
    // The GameInput runtime doesn't support API v4. Deploy the sideloaded
    // runtime with your game, or use an earlier API version.
}
```

Pour utiliser plus d'une version de l'API dans votre jeu, par exemple du code v0 avec du code v4, consultez [Utilisation de plusieurs versions de l'API GameInput dans une même application](https://docs.xbox.com/fr-CA/build/core-features/common/input/overviews/input-version-interop.md).

## Voir aussi

[GameInput pour PC et console avec NuGet](https://docs.xbox.com/fr-CA/build/core-features/common/input/overviews/input-nuget.md)\
[Chargement latéral de GameInput](https://docs.xbox.com/fr-CA/build/core-features/common/input/overviews/input-agility-redistributable.md)\
[Gestion des versions de l'API GameInput](https://docs.xbox.com/fr-CA/build/core-features/common/input/overviews/input-versioning.md)\
[Utilisation de plusieurs versions de l'API GameInput dans une même application](https://docs.xbox.com/fr-CA/build/core-features/common/input/overviews/input-version-interop.md)\
[GameInputInitialize](https://docs.xbox.com/fr-CA/reference/input/gameinput/functions/gameinputinitialize.md)


## Related topics

- [Foire aux questions sur GameInput](https://docs.xbox.com/fr-CA/build/core-features/common/input/overviews/input-faq.md)
- [Chargement latéral de GameInput](https://docs.xbox.com/fr-CA/build/core-features/common/input/overviews/input-agility-redistributable.md)
- [GameInput pour PC et console avec NuGet](https://docs.xbox.com/fr-CA/build/core-features/common/input/overviews/input-nuget.md)
- [Gestion des versions de l'API GameInput](https://docs.xbox.com/fr-CA/build/core-features/common/input/overviews/input-versioning.md)
- [Introduction à GameInput](https://docs.xbox.com/fr-CA/build/core-features/common/input/overviews/input-overview.md)
