> ## 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 boutons de contrôleur des boutons supplémentaires de l'appareil 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

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

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

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

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

Pointeur vers le tableau des index de boutons.

### Valeur de retour

Type : HRESULT

Résultat de la fonction.

## Remarques

Les boutons supplémentaires sont des boutons 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 [GetExtraButtonCount](/fr-CA/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 :

```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-CA/reference/input/gameinput/enums/gameinputkind)<br />
[GetExtraButtonCount](/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextrabuttoncount)<br />
[GetExtraAxisIndexes](/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextraaxisindexes)<br />
[IGameInputDevice](/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice)

## Historique des versions

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


## Related topics

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