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

> Obtiene el índice de usuario de XInput asignado al dispositivo de entrada, si existe.

Obtiene el índice de usuario de XInput asignado al dispositivo de entrada, si existe.

## Sintaxis

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

### Parámetros

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

Recibe el índice de usuario de XInput de base cero (de 0 a 3) del dispositivo. Si el dispositivo no tiene un índice de usuario de XInput, se establece en 0.

### Valor devuelto

Tipo: bool

`true` si el dispositivo tiene actualmente un índice de usuario de XInput; de lo contrario, `false`.

## Comentarios

El índice de usuario de XInput es la ranura de mando que usa la API de XInput para identificar un mando, que normalmente corresponde al indicador de jugador que se muestra en el mando. Use este método para correlacionar un dispositivo de GameInput con el mando al que hace referencia el mismo índice de usuario en XInput, por ejemplo, al migrar un título de XInput a GameInput mando a mando.

Solo los dispositivos que se exponen a través de XInput tienen un índice de usuario. Otros dispositivos, como los teclados, los mouse y la mayoría de los mandos de juego HID, devuelven `false`. Los dispositivos agregados nunca tienen un índice de usuario de XInput. Cuando un dispositivo se desconecta, se libera su índice de usuario y el método devuelve `false`.

A diferencia de la mayoría de las propiedades del dispositivo, el índice de usuario de XInput puede cambiar mientras el dispositivo está conectado. Cuando cambia, GameInput notifica a las devoluciones de llamada de dispositivo registradas con el valor `GameInputDeviceEventXInputIndexUpdated` de [GameInputDeviceEvent](https://learn.microsoft.com/en-us/gaming/gdk/docs/reference/input/gameinput/enums/gameinputdeviceevent). Vuelva a llamar a `GetXInputDeviceIndex` desde la devolución de llamada para obtener el nuevo índice.

```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.
        }
    }
}
```

## 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)\
[IGameInputDevice](https://docs.xbox.com/es/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/es/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerdevicecallback.md)

## Historial de versiones

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


## Related topics

- [IGameInput::RegisterDeviceCallback](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerdevicecallback.md)
- [IGameInputDevice (Contenido de la interfaz)](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)
- [IGameInputDevice::GetGamepadInfo](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getgamepadinfo.md)
- [IGameInputDevice::GetTouchSurfaceInfo](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_gettouchsurfaceinfo.md)
- [IGameInputDevice::GetArcadeStickInfo](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getarcadestickinfo.md)
