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

# GetExtraButtonIndexes

> GetExtraButtonIndexes

# GetExtraButtonIndexes

Obtient les index de bouton de contrôleur des boutons supplémentaires du périphérique pour un type d'entrée donné.

## Syntaxe

```cpp theme={null}
HRESULT GetExtraButtonIndexes(
    GameInputKind inputKind,
    uint32_t extraButtonCount,
    uint8_t* extraButtonIndexes
);
```

### Paramètres

*inputKind*   \_In\_\
Type : GameInputKind

Type d'entrée dont les index de boutons supplémentaires sont demandés.

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

Nombre attendu d'index de bouton pour les boutons supplémentaires.
Ce nombre peut être récupéré en appelant [GetExtraButtonCount](/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextrabuttoncount).

*extraButtonIndexes*   \_Out\_writes\_(extraButtonCount)\_\
Type : uint8\_t\*

Pointeur vers le tableau des index de bouton.

### Valeur de retour

Type : HRESULT

Résultat de la fonction.

## Remarques

Les boutons supplémentaires sont des boutons de contrôleur qui existent sur le périphérique physique mais qui ne font pas partie du mappage standard du type d'entrée spécifié.

Avant d'appeler cette méthode, vous devez d'abord appeler [GetExtraButtonCount](/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextrabuttoncount) pour déterminer le nombre de boutons supplémentaires disponibles, puis passer ce nombre comme paramètre extraButtonCount.

L'extrait de code suivant montre comment utiliser les boutons supplémentaires d'une manette de jeu :

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

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

    std::vector<uint8_t> buttonIndexes(extraButtonCount);
    extraButtons->resize(extraButtonCount);
    if (FAILED(device->GetExtraButtonIndexes(
        GameInputKindGamepad,
        extraButtonCount,
        buttonIndexes.data())))
    {
        return false;
    }

    std::vector<bool> buttonStates(reading->GetControllerButtonCount());
    reading->GetControllerButtonState(static_cast<uint32_t>(buttonStates.size()), buttonStates.data());

    for (size_t i = 0; i < buttonIndexes.size(); ++i)
    {
        if (buttonIndexes[i] < buttonStates.size())
        {
            (*extraButtons)[i] = buttonStates[buttonIndexes[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/reference/input/gameinput/enums/gameinputkind)<br />
[GetExtraButtonCount](/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextrabuttoncount)<br />
[GetExtraAxisIndexes](/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextraaxisindexes)<br />
[IGameInputDevice](/fr/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice)

## Historique des versions

| Version | Modifications |
| - | - |
| **v3** | Introduite. |


## Related topics

- [GetExtraButtonCount](/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextrabuttoncount.md)
- [GetExtraAxisIndexes](/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextraaxisindexes.md)
- [IGameInputDevice](/fr/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)
- [GetExtraAxisCount](/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextraaxiscount.md)
- [GameInputRacingWheelInfo](/fr/reference/input/gameinput/structs/gameinputracingwheelinfo.md)
