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

> Obtém o índice de usuário XInput atribuído ao dispositivo de entrada, se houver.

Obtém o índice de usuário XInput atribuído ao dispositivo de entrada, se houver.

## Sintaxe

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

### Parâmetros

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

Recebe o índice de usuário XInput baseado em zero (de 0 a 3) do dispositivo. Se o dispositivo não tiver um índice de usuário XInput, ele será definido como 0.

### Valor retornado

Tipo: bool

`true` se o dispositivo tiver atualmente um índice de usuário XInput; caso contrário, `false`.

## Comentários

O índice de usuário XInput é o slot de controle que a API XInput usa para identificar um controle, o que normalmente corresponde ao indicador de jogador exibido no controle. Use este método para correlacionar um dispositivo GameInput com o controle ao qual o mesmo índice de usuário se refere no XInput, por exemplo, ao migrar um título do XInput para o GameInput um controle por vez.

Somente os dispositivos expostos por meio do XInput têm um índice de usuário. Outros dispositivos, como teclados, mouses e a maioria dos controles de jogo HID, retornam `false`. Dispositivos agregados nunca têm um índice de usuário XInput. Quando um dispositivo é desconectado, o índice de usuário dele é liberado e o método retorna `false`.

Ao contrário da maioria das propriedades de dispositivo, o índice de usuário XInput pode mudar enquanto o dispositivo está conectado. Quando ele muda, o GameInput notifica os retornos de chamada de dispositivo registrados com o valor `GameInputDeviceEventXInputIndexUpdated` de [GameInputDeviceEvent](https://learn.microsoft.com/en-us/gaming/gdk/docs/reference/input/gameinput/enums/gameinputdeviceevent). Chame `GetXInputDeviceIndex` novamente a partir do retorno de chamada para obter o novo í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

**Cabeçalho:** GameInput.h

**Biblioteca:** gameinput.lib

**Plataformas com suporte:** Windows, consoles da família XBOX One e consoles XBOX Series

## Confira também

[Visão geral do GameInput](https://docs.xbox.com/pt-BR/build/core-features/common/input/overviews/input-overview.md)\
[IGameInputDevice](https://docs.xbox.com/pt-BR/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/pt-BR/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerdevicecallback.md)

## Histórico de versões

| Versão | Alterações |
| - | - |
| **v4** | Introduzido. |


## Related topics

- [IGameInput::RegisterDeviceCallback](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerdevicecallback.md)
- [IGameInputDevice (conteúdo da interface)](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)
- [IGameInputDevice::GetGamepadInfo](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getgamepadinfo.md)
- [IGameInputDevice::GetTouchSurfaceInfo](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_gettouchsurfaceinfo.md)
- [IGameInputDevice::GetFlightStickInfo](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getflightstickinfo.md)
