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

# XUserDeviceAssociationChange

> XUserDeviceAssociationChange

# XUserDeviceAssociationChange

Especifica as associações de dispositivo antigas e novas quando uma associação de dispositivo é alterada.

## Sintaxe

```cpp theme={null}
typedef struct XUserDeviceAssociationChange {  
    APP_LOCAL_DEVICE_ID deviceId;  
    XUserLocalId oldUser;  
    XUserLocalId newUser;  
} XUserDeviceAssociationChange  
```

### Membros

*deviceId*\
Tipo: [APP\_LOCAL\_DEVICE\_ID](https://docs.xbox.com/pt-BR/reference/system/xuser/structs/app_local_device_id.md)

A ID do dispositivo cuja associação de usuário é alterada.

*oldUser*\
Tipo: [XUserLocalId](https://docs.xbox.com/pt-BR/reference/system/xuser/structs/xuserlocalid.md)

A ID de usuário antiga associada ao dispositivo.

*newUser*\
Tipo: [XUserLocalId](https://docs.xbox.com/pt-BR/reference/system/xuser/structs/xuserlocalid.md)

A nova ID de usuário associada ao dispositivo.

## Comentários

Todos os argumentos de XUserDeviceAssociationChange podem ser "nulos":

* Se deviceId for igual a **XUserNullDeviceId**, a alteração de usuário se aplicará a todos os dispositivos, em que todos os dispositivos têm associações com um usuário conectado.
* Se oldUser for igual a **XUserNullUserLocalId**, a associação dispositivo-usuário será nova.
* Se newUser for igual a **XUserNullUserLocalId**, a associação dispositivo-usuário existente será perdida.

> [!NOTE]
>
> *newUser* só pode referenciar usuários que já foram adicionados ao título por meio de uma chamada para [XUserAddAsync](https://docs.xbox.com/pt-BR/reference/system/xuser/functions/xuseraddasync.md). Se o seletor do sistema tiver sido usado para emparelhar um dispositivo de entrada a um usuário que o título não conhece, newUser será igual a **XUserNullUserLocalId**. Consulte [Usuários e dispositivos de entrada](https://docs.xbox.com/pt-BR/build/core-features/common/user/users-input-devices.md) para obter mais informações.

Esses membros devem ser tratados como uma estrutura de bytes brutos que pode ser comparada usando memcmp ou um método equivalente.  Por exemplo:

```cpp theme={null}
XUserDeviceAssociationChange *change; // incoming argument from callback

if(memcmp(&change->deviceId, &XUserNullDeviceId, sizeof(APP_LOCAL_DEVICE_ID) == 0))
{
}

if(memcmp(&change->newUser, &XUserNullUserLocalId, sizeof(XUserLocalId) == 0))
{
}
```

A função de retorno de chamada [XUserDeviceAssociationChangedCallback](https://docs.xbox.com/pt-BR/reference/system/xuser/functions/xuserdeviceassociationchangedcallback.md) usa um ponteiro para uma estrutura XUserDeviceAssociationChange.

A função de retorno de chamada passa o contexto para a função [XUserRegisterForDeviceAssociationChanged](https://docs.xbox.com/pt-BR/reference/system/xuser/functions/xuserregisterfordeviceassociationchanged.md) quando o retorno de chamada é registrado.

A função [XUserRegisterForDeviceAssociationChanged](https://docs.xbox.com/pt-BR/reference/system/xuser/functions/xuserregisterfordeviceassociationchanged.md) registra um retorno de chamada para eventos de alteração de associação de dispositivo do usuário.

## Requisitos

**Cabeçalho:** XUser.h

**Plataformas compatíveis:** Windows, consoles da família XBOX One e consoles XBOX Series

## Confira também

[XUser](https://docs.xbox.com/pt-BR/reference/system/xuser/xuser_members.md)

[XUserDeviceAssociationChangedCallback](https://docs.xbox.com/pt-BR/reference/system/xuser/functions/xuserdeviceassociationchangedcallback.md)

[XUserRegisterForDeviceAssociationChanged](https://docs.xbox.com/pt-BR/reference/system/xuser/functions/xuserregisterfordeviceassociationchanged.md)


## Related topics

- [XUserDeviceAssociationChangedCallback](https://docs.xbox.com/pt-BR/reference/system/xuser/functions/xuserdeviceassociationchangedcallback.md)
- [APP_LOCAL_DEVICE_ID](https://docs.xbox.com/pt-BR/reference/system/xuser/structs/app_local_device_id.md)
- [XUser (conteúdo da API)](https://docs.xbox.com/pt-BR/reference/system/xuser/xuser_members.md)
- [XUserUnregisterForDeviceAssociationChanged](https://docs.xbox.com/pt-BR/reference/system/xuser/functions/xuserunregisterfordeviceassociationchanged.md)
- [XUserRegisterForDeviceAssociationChanged](https://docs.xbox.com/pt-BR/reference/system/xuser/functions/xuserregisterfordeviceassociationchanged.md)
