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

# GetExtraAxisIndexes

> GetExtraAxisIndexes

# GetExtraAxisIndexes

Obtient les index d'axes de contrôleur des axes supplémentaires de l'appareil pour un type d'entrée donné.

## Syntaxe

```cpp theme={null}
HRESULT GetExtraAxisIndexes(
    GameInputKind inputKind,
    uint32_t extraAxisCount,
    uint8_t* extraAxisIndexes
);
```

### Paramètres

*inputKind*   \_In\_\
Type : GameInputKind

Le type d'entrée dont les index d'axes supplémentaires sont demandés.

*extraAxisCount*   \_In\_\
Type : uint32\_t

Nombre attendu d'index d'axes pour les axes supplémentaires.
Ce nombre peut être obtenu en appelant  [GetExtraAxisCount](/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextraaxiscount).

*extraAxisIndexes*   \_Out\_writes\_(extraAxisCount)\_\
Type : uint8\_t\*

Pointeur vers le tableau des index d'axes.

### Valeur de retour

Type : HRESULT

Résultat de la fonction.

## Remarques

La méthode `GetExtraAxisIndexes` récupère les index d'axes de contrôleur des axes supplémentaires présents sur l'appareil pour un type d'entrée donné. Les axes supplémentaires sont des axes de contrôleur qui existent sur l'appareil physique, mais qui ne font pas partie du mappage standard pour le type d'entrée spécifié.

Avant d'appeler cette méthode, vous devez d'abord appeler [GetExtraAxisCount](/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextraaxiscount) pour déterminer le nombre d'axes supplémentaires disponibles, puis passer ce nombre comme paramètre extraAxisCount.

L'exemple de code suivant montre comment utiliser les axes supplémentaires d'une manette :

```cpp theme={null}
bool GetGamepadExtraAxisValues(
    std::vector<float>* extraAxes,
    IGameInputReading* reading) noexcept
{
    Mwrl::ComPtr<IGameInputDevice> device;
    reading->GetDevice(&device);

    uint32_t extraAxisCount = 0;
    if (FAILED(device->GetExtraAxisCount(GameInputKindGamepad, &extraAxisCount)))
    {
        return false;
    }

    std::vector<uint8_t> axisIndexes(extraAxisCount);
    extraAxes->resize(extraAxisCount);
    if (FAILED(device->GetExtraAxisIndexes(
        GameInputKindGamepad,
        extraAxisCount,
        axisIndexes.data())))
    {
        return false;
    }

    std::vector<float> axisStates(reading->GetControllerAxisCount());
    reading->GetControllerAxisState(static_cast<uint32_t>(axisStates.size()), axisStates.data());

    for (size_t i = 0; i < axisIndexes.size(); ++i)
    {
        if (axisIndexes[i] < axisStates.size())
        {
            (*extraAxes)[i] = axisStates[axisIndexes[i]];
        }
    }

    return true;
}
```

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

[GameInputKind](/fr-CA/reference/input/gameinput/enums/gameinputkind)<br />
[GetExtraAxisCount](/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextraaxiscount)<br />
[GetExtraButtonIndexes](/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextrabuttonindexes)<br />
[IGameInputDevice](/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice)

## Historique des versions

| Version | Modifications |
| - | - |
| **v3** | Introduit. |


## Related topics

- [GetExtraAxisCount](/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextraaxiscount.md)
- [GetExtraButtonIndexes](/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextrabuttonindexes.md)
- [IGameInputDevice](/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)
- [GetExtraButtonCount](/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextrabuttoncount.md)
- [GameInputAxisMapping](/fr-CA/reference/input/gameinput/structs/gameinputaxismapping.md)
