> ## 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 indépendant.

Sur les consoles XBOX, le runtime GameInput fait partie du Microsoft Game Development Kit (GDK). Il est inclus dans le fichier Game OS (`GameOs.xvd`) du GDK fourni avec votre titre. Les versions de l'API GameInput que votre jeu peut utiliser au moment de l'exécution dépendent de la version du GDK, de l'en-tête et de la bibliothèque GameInput avec lesquels vous compilez, 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 inclut un runtime GameInput qui prend en charge un ensemble spécifique de versions de l'API.
* **Charger le runtime GameInput de manière indépendante.** Déployez le runtime GameInput du package NuGet [Microsoft.GameInput](https://www.nuget.org/packages/Microsoft.GameInput) avec votre jeu pour utiliser une version de l'API plus récente que celle prise en charge par votre GDK.

Dans les deux cas, vous devez compiler 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 indique 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é de manière indépendante |
| - | - | - | - |
| 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, avant le 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 compilez et liez 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 définie par ses en-têtes. Par exemple, le package 4.x inclut l'API v4. Pour plus d'informations, consultez [GameInput pour PC et console avec NuGet](https://docs.xbox.com/fr/build/core-features/common/input/overviews/input-nuget.md).

Vous n'avez rien d'autre à installer sur la console. Si vous liez uniquement avec `GameInput.lib` du package NuGet, votre jeu utilise le runtime GameInput inclus dans le GDK, et les versions de l'API prises en charge par ce runtime sont limitées par la version du GDK, comme indiqué dans 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 comprise entre le GDK d'octobre 2025 et le GDK d'octobre 2026 (non inclus), chargez le runtime GameInput de manière indépendante :

1. Ajoutez la version 4.0 ou ultérieure du package NuGet [Microsoft.GameInput](https://www.nuget.org/packages/Microsoft.GameInput) à votre projet, puis compilez et liez 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.

La liaison avec `GameInput.lib` du package NuGet ne suffit pas à elle seule. Sans le runtime chargé de manière indépendante, 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`, tandis que les versions d'API v0 à v3 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 indépendant de GameInput](https://docs.xbox.com/fr/build/core-features/common/input/overviews/input-agility-redistributable.md).

## Choix du runtime

Le chargement indépendant 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é de manière indépendante, s'il est déployé, et utilise le runtime dont la version est la plus élevée. Par conséquent :

* Un runtime chargé de manière indépendante plus récent que le runtime du GDK met à la disposition de votre jeu des versions de l'API et des correctifs plus récents.
* Lorsque votre jeu passe à une version du GDK qui inclut un runtime plus récent que celui chargé de manière indépendante, votre jeu utilise le runtime du GDK. Vous pouvez continuer à déployer le runtime chargé de manière indépendante, ou le supprimer lorsqu'il n'est plus plus récent que le runtime du GDK.

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

## Vérifier la version de l'API disponible

Si votre jeu demande une version de l'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/reference/input/gameinput/functions/gameinputcreate.md) et à `QueryInterface`. Si votre jeu peut fonctionner sans la version la plus récente de l'API, recherchez cette erreur et utilisez à la place 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 plusieurs versions 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/build/core-features/common/input/overviews/input-version-interop.md).

## Voir aussi

[GameInput pour PC et console avec NuGet](https://docs.xbox.com/fr/build/core-features/common/input/overviews/input-nuget.md)\
[Chargement indépendant de GameInput](https://docs.xbox.com/fr/build/core-features/common/input/overviews/input-agility-redistributable.md)\
[Gestion des versions de l'API GameInput](https://docs.xbox.com/fr/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/build/core-features/common/input/overviews/input-version-interop.md)\
[GameInputInitialize](https://docs.xbox.com/fr/reference/input/gameinput/functions/gameinputinitialize.md)


## Related topics

- [Questions fréquentes sur GameInput](https://docs.xbox.com/fr/build/core-features/common/input/overviews/input-faq.md)
- [GameInput pour PC et console avec NuGet](https://docs.xbox.com/fr/build/core-features/common/input/overviews/input-nuget.md)
- [Chargement indépendant de GameInput](https://docs.xbox.com/fr/build/core-features/common/input/overviews/input-agility-redistributable.md)
- [Gestion des versions de l'API GameInput](https://docs.xbox.com/fr/build/core-features/common/input/overviews/input-versioning.md)
- [Présentation de GameInput](https://docs.xbox.com/fr/build/core-features/common/input/overviews/input-overview.md)
