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

# Lidar com a perda do controle

> Lidar com a perda do controle

Ter um controle associado a um usuário é fundamental para a maioria dos jogos. Quando o
jogo perde todos esses controles de um usuário (por exemplo, a bateria acabou), a
abordagem padrão para um jogo de um jogador é pausá-lo e mostrar uma caixa de diálogo
pedindo que o usuário ligue um controle.

Usando a função [XUserFindControllerForUserWithUiAsync](/pt-BR/reference/system/xuser/functions/xuserfindcontrollerforuserwithuiasync),
os jogos podem melhorar essa experiência. Essa função recebe um XUserHandle
como entrada e mostra uma caixa de diálogo:

\<\<Gamer>>, você precisa de um controle para este jogo.
Pressione e segure A para confirmar o controle que deseja usar

Depois que o usuário confirmar o controle, o jogo poderá chamar
[XUserFindControllerForUserWithUiResult](/pt-BR/reference/system/xuser/functions/xuserfindcontrollerforuserwithuiresult)
para obter o APP\_LOCAL\_DEVICE\_ID do controle escolhido. Mais importante, esse
controle agora está associado a esse usuário. Se esse usuário pressionar o botão Nexus,
o Guia do XBOX mostrará as informações desse usuário no Guia.

Observe que o jogador pode cancelar essa caixa de diálogo sem selecionar um controle, e o título deve lidar com esse cancelamento adequadamente.  Por exemplo, um título pode chamar repetidamente [XUserFindControllerForUserWithUiAsync](/pt-BR/reference/system/xuser/functions/xuserfindcontrollerforuserwithuiasync) para forçar uma seleção, ou pode retornar à tela de título, já que não há mais um mapeamento de usuário/controle, ou adotar algum outro comportamento que faça sentido para o título.

Observe também que, com esse processo, os usuários podem ser associados a controles que estavam associados anteriormente a outros usuários no jogo. Isso ocorre por design.

Sempre que a associação entre um usuário e um controle mudar, haverá um
[XUserDeviceAssociationChangedCallback](/pt-BR/reference/system/xuser/functions/xuserdeviceassociationchangedcallback).
Observação: esse evento também será disparado com o emparelhamento bem-sucedido de usuário e controle
resultante da chamada de
[XUserFindControllerForUserWithUiAsync](/pt-BR/reference/system/xuser/functions/xuserfindcontrollerforuserwithuiasync).

## Confira também

[XUserFindControllerForUserWithUiAsync](/pt-BR/reference/system/xuser/functions/xuserfindcontrollerforuserwithuiasync)


## Related topics

- [XR074 Perda de conectividade com os serviços do XBOX e de parceiros](/pt-BR/publishing/certification/fma/xr-074.md)
- [XR-074 Perda de conectividade com os serviços XBOX e de parceiros](/pt-BR/publishing/certification/xr/xr-074.md)
- [Requisitos XBOX testados na certificação para jogos de console XBOX](/pt-BR/publishing/certification/console-cert-tested-requirements.md)
- [XR-112 Estabelecimento de um usuário e um controle durante a ativação inicial e a retomada](/pt-BR/publishing/certification/xr/xr-112.md)
- [XR-115 Adição e remoção de usuários ou controles durante a jogabilidade](/pt-BR/publishing/certification/xr/xr-115.md)
