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

# XUserRegisterForDeviceAssociationChanged

> XUserRegisterForDeviceAssociationChanged

# XUserRegisterForDeviceAssociationChanged

Registra um retorno de chamada para eventos de alteração de associação de dispositivo do usuário.

## Sintaxe

```cpp theme={null}
HRESULT XUserRegisterForDeviceAssociationChanged(  
         XTaskQueueHandle queue,  
         void* context,  
         XUserDeviceAssociationChangedCallback* callback,  
         XTaskQueueRegistrationToken* token  
)  
```

### Parâmetros

*queue*   \_In\_opt\_\
Tipo: XTaskQueueHandle

Um identificador para a fila assíncrona na qual o retorno de chamada de alteração será colocado.

*context*   \_In\_opt\_\
Tipo: void\*

Um retorno de chamada que o aplicativo define e passa de volta para o retorno de chamada.

*callback*   \_In\_\
Tipo: [XUserDeviceAssociationChangedCallback\*](/pt-BR/reference/system/xuser/functions/xuserdeviceassociationchangedcallback)

Um retorno de chamada que o aplicativo define e registra.

*token*   \_Out\_\
Tipo: [XTaskQueueRegistrationToken\*](/pt-BR/reference/system/xtaskqueue/structs/xtaskqueueregistrationtoken)

Em caso de êxito, contém um token que identifica o retorno de chamada, que você pode usar para cancelar o registro do retorno de chamada.

### Valor retornado

Tipo: HRESULT

Código de êxito ou erro HRESULT.\
Para obter uma lista de códigos de erro, confira [Códigos de erro](/pt-BR/reference/errorcodes).

## Comentários

<Note>Não é seguro chamar esta função em um thread sensível ao tempo. Para obter mais informações, confira [Threads sensíveis ao tempo](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads).</Note>

Chamar **XUserDeviceAssociationRegisterForChangeEvent** não invalida retornos de chamada registrados anteriormente.

Para cancelar o registro de um retorno de chamada de alteração de associação de dispositivo do usuário, chame [XUserUnregisterForDeviceAssociationChanged](/pt-BR/reference/system/xuser/functions/xuserunregisterfordeviceassociationchanged).

Para registrar um retorno de chamada que o aplicativo define e invoca quando o ponto de extremidade padrão é alterado, chame [XUserRegisterForDefaultAudioEndpointUtf16Changed](/pt-BR/reference/system/xuser/functions/xuserregisterfordefaultaudioendpointutf16changed).

Para cancelar o registro de um retorno de chamada de alteração do ponto de extremidade de áudio padrão, chame [XUserUnregisterForDefaultAudioEndpointUtf16Changed](/pt-BR/reference/system/xuser/functions/xuserunregisterfordefaultaudioendpointutf16changed).

## Requisitos

**Cabeçalho:** XUser.h

**Biblioteca:** xgameruntime.lib

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

## Documentação conceitual

* [Threads sensíveis ao tempo](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## Confira também

[XUser](/pt-BR/reference/system/xuser/xuser_members)

[XUserUnregisterForDeviceAssociationChanged](/pt-BR/reference/system/xuser/functions/xuserunregisterfordeviceassociationchanged)

[XUserRegisterForDefaultAudioEndpointUtf16Changed](/pt-BR/reference/system/xuser/functions/xuserregisterfordefaultaudioendpointutf16changed)

[XUserUnregisterForDefaultAudioEndpointUtf16Changed](/pt-BR/reference/system/xuser/functions/xuserunregisterfordefaultaudioendpointutf16changed)


## Related topics

- [XUserRegisterForDeviceAssociationChanged](/reference/system/xuser/functions/xuserregisterfordeviceassociationchanged.md)
- [XUserDeviceAssociationChangedCallback](/reference/system/xuser/functions/xuserdeviceassociationchangedcallback.md)
- [XUserUnregisterForDeviceAssociationChanged](/reference/system/xuser/functions/xuserunregisterfordeviceassociationchanged.md)
