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

> Recupera las etiquetas de los botones de mando genéricos del dispositivo.

Recupera las etiquetas de los botones de mando genéricos del dispositivo.

## Sintaxis

```cpp theme={null}
uint32_t GetControllerButtonLabels(
    uint32_t labelArrayCount,
    GameInputLabel* labelArray
);
```

### Parámetros

*labelArrayCount*   \_In\_\
Tipo: uint32\_t

Número de elementos de *labelArray*. Para recuperar todas las etiquetas de los botones de mando, pase el valor devuelto por [GetControllerButtonCount](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getcontrollerbuttoncount.md).

*labelArray*   \_Out\_writes\_to\_opt\_(labelArrayCount, return)\
Tipo: [GameInputLabel](https://docs.xbox.com/es/reference/input/gameinput/enums/gameinputlabel.md)\*

Puntero a una matriz que recibe una etiqueta por cada botón de mando. Puede ser `nullptr`, en cuyo caso no se escribe nada y el método devuelve 0.

### Valor devuelto

Tipo: uint32\_t

El número de elementos escritos en *labelArray*. Es el menor de *labelArrayCount* y el número de etiquetas de botones de mando del dispositivo, o 0 si *labelArray* es `nullptr` o el dispositivo no tiene etiquetas de botones de mando.

## Comentarios

Cada elemento es un valor de [GameInputLabel](https://docs.xbox.com/es/reference/input/gameinput/enums/gameinputlabel.md) que identifica la marca impresa en el botón correspondiente, si el dispositivo la notifica.

Llame a [GetControllerButtonCount](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getcontrollerbuttoncount.md) para obtener el número de etiquetas de botones de mando, asigne una matriz de ese tamaño y, a continuación, llame a `GetControllerButtonLabels` para rellenarla. Si *labelArrayCount* es menor que el número de etiquetas de botones de mando, solo se escriben los primeros *labelArrayCount* elementos. Las etiquetas de los botones de mando de un dispositivo no cambian mientras el dispositivo está conectado, por lo que puede consultarlas una vez y almacenar en caché el resultado.

El elemento *i* de la matriz de etiquetas describe el botón situado en el índice *i* de la matriz devuelta por [IGameInputReading::GetControllerButtonState](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getcontrollerbuttonstate.md) para las lecturas de este dispositivo.

En el siguiente ejemplo se muestra cómo recuperar las etiquetas de los botones de mando de un dispositivo.

```cpp theme={null}
uint32_t buttonCount = device->GetControllerButtonCount();
std::vector<GameInputLabel> buttonLabels(buttonCount);
buttonLabels.resize(device->GetControllerButtonLabels(buttonCount, buttonLabels.data()));

std::unique_ptr<bool[]> buttonStates(new bool[buttonCount]);
uint32_t stateCount = reading->GetControllerButtonState(buttonCount, buttonStates.get());

for (uint32_t i = 0; i < buttonLabels.size() && i < stateCount; ++i)
{
    // buttonLabels[i] is the label of the button whose state is buttonStates[i].
}
```

En GameInput v3 y versiones anteriores, esta información estaba disponible en el miembro `controllerButtonLabels` de la estructura [GameInputControllerInfo](https://docs.xbox.com/es/reference/input/gameinput/deprecated/structs/gameinputcontrollerinfo.md), a la que hacía referencia el miembro `controllerInfo` de la estructura [GameInputDeviceInfo](https://docs.xbox.com/es/reference/input/gameinput/deprecated/structs/gameinputdeviceinfo.md) devuelta por [IGameInputDevice::GetDeviceInfo](https://docs.xbox.com/es/reference/input/gameinput/deprecated/interfaces/igameinputdevice/methods/igameinputdevice_getdeviceinfo.md).

## Requisitos

**Encabezado:** GameInput.h

**Biblioteca:** gameinput.lib

**Plataformas compatibles:** Windows, consolas de la familia XBOX One y consolas XBOX Series

## Consulte también

[Información general de GameInput](https://docs.xbox.com/es/build/core-features/common/input/overviews/input-overview.md)\
[GetControllerButtonCount](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getcontrollerbuttoncount.md)\
[GameInputLabel](https://docs.xbox.com/es/reference/input/gameinput/enums/gameinputlabel.md)\
[IGameInputReading::GetControllerButtonState](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getcontrollerbuttonstate.md)\
[IGameInputDevice](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)

## Historial de versiones

| Versión | Cambios |
| - | - |
| **v4** | Se introdujo. |


## Related topics

- [GameInputLabel](https://docs.xbox.com/es/reference/input/gameinput/enums/gameinputlabel.md)
- [IGameInputDevice::GetControllerButtonCount](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getcontrollerbuttoncount.md)
- [IGameInputDevice::GetControllerAxisLabels](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getcontrolleraxislabels.md)
- [IGameInputDevice::GetControllerAxisCount](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getcontrolleraxiscount.md)
- [IGameInputDevice::GetGamepadInfo](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getgamepadinfo.md)
