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

# IGameInputDevice::GetXInputDeviceIndex

> Obtient l'index d'utilisateur XInput attribué au périphérique d'entrée, le cas échéant.

Obtient l'index d'utilisateur XInput attribué au périphérique d'entrée, le cas échéant.

## Syntaxe

```cpp theme={null}
bool GetXInputDeviceIndex(
    uint32_t* index
);
```

### Paramètres

*index*   \_Out\_\
Type : uint32\_t\*

Reçoit l'index d'utilisateur XInput de base zéro (de 0 à 3) du périphérique. Si le périphérique n'a pas d'index d'utilisateur XInput, cette valeur est définie à 0.

### Valeur de retour

Type : bool

`true` si le périphérique possède actuellement un index d'utilisateur XInput; sinon, `false`.

## Remarques

L'index d'utilisateur XInput est l'emplacement de manette que l'API XInput utilise pour identifier une manette, ce qui correspond généralement à l'indicateur de joueur affiché sur la manette. Utilisez cette méthode pour associer un périphérique GameInput à la manette que le même index d'utilisateur désigne dans XInput, par exemple lorsque vous migrez un titre de XInput vers GameInput une manette à la fois.

Seuls les périphériques exposés au moyen de XInput possèdent un index d'utilisateur. Les autres périphériques, comme les claviers, les souris et la plupart des manettes de jeu HID, retournent `false`. Les périphériques agrégés n'ont jamais d'index d'utilisateur XInput. Lorsqu'un périphérique se déconnecte, son index d'utilisateur est libéré et la méthode retourne `false`.

Contrairement à la plupart des propriétés de périphérique, l'index d'utilisateur XInput peut changer pendant que le périphérique est connecté. Lorsqu'il change, GameInput avertit les rappels de périphérique inscrits avec la valeur `GameInputDeviceEventXInputIndexUpdated` de [GameInputDeviceEvent](https://learn.microsoft.com/en-us/gaming/gdk/docs/reference/input/gameinput/enums/gameinputdeviceevent). Appelez de nouveau `GetXInputDeviceIndex` à partir du rappel pour obtenir le nouvel index.

```cpp theme={null}
void CALLBACK OnDeviceEvent(
    GameInputCallbackToken callbackToken,
    void* context,
    GameInputDeviceEvent deviceEvent,
    IGameInputDevice* device) noexcept
{
    if (deviceEvent == GameInputDeviceEventXInputIndexUpdated)
    {
        uint32_t index = 0;
        if (device->GetXInputDeviceIndex(&index))
        {
            // The device is now assigned to XInput user index 'index'.
        }
        else
        {
            // The device no longer has an XInput user index.
        }
    }
}
```

## Configuration requise

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

**Bibliothèque :** gameinput.lib

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

## Voir aussi

[Vue d'ensemble de GameInput](https://docs.xbox.com/fr-CA/build/core-features/common/input/overviews/input-overview.md)\
[IGameInputDevice](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)\
[GameInputDeviceEvent](https://learn.microsoft.com/en-us/gaming/gdk/docs/reference/input/gameinput/enums/gameinputdeviceevent)\
[IGameInput::RegisterDeviceCallback](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerdevicecallback.md)

## Historique des versions

| Version | Modifications |
| - | - |
| **v4** | Introduit. |


## Related topics

- [IGameInput::RegisterDeviceCallback](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerdevicecallback.md)
- [IGameInputDevice (contenu de l'interface)](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)
- [IGameInputDevice::GetUsage](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getusage.md)
- [IGameInputDevice::GetTouchSurfaceInfo](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_gettouchsurfaceinfo.md)
- [IGameInputDevice::GetTouchSurfaceCount](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_gettouchsurfacecount.md)
