> ## 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 las asociaciones de dispositivos antiguas y nuevas cuando cambia una asociación de dispositivos.

## Sintaxis

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

### Miembros

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

El identificador del dispositivo cuya asociación de usuario cambia.

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

El identificador del usuario anterior asociado al dispositivo.

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

El identificador del nuevo usuario asociado al dispositivo.

## Comentarios

Todos los argumentos de XUserDeviceAssociationChange pueden ser "null":

* Si deviceId es igual a **XUserNullDeviceId**, el cambio de usuario se aplica a todos los dispositivos, donde todos los dispositivos tienen asociaciones con un usuario con sesión iniciada.
* Si oldUser es igual a **XUserNullUserLocalId**, la asociación entre dispositivo y usuario es nueva.
* Si newUser es igual a **XUserNullUserLocalId**, la asociación existente entre dispositivo y usuario se pierde.

> [!NOTE]
>
> *newUser* solo puede hacer referencia a usuarios que ya se hayan agregado al título mediante una llamada a [XUserAddAsync](https://docs.xbox.com/es/reference/system/xuser/functions/xuseraddasync.md). Si se usó el selector del sistema para emparejar un dispositivo de entrada con un usuario que el título no conoce, newUser será igual a **XUserNullUserLocalId**. Consulte [Usuarios y dispositivos de entrada](https://docs.xbox.com/es/build/core-features/common/user/users-input-devices.md) para obtener más información.

Estos miembros deben tratarse como una estructura de bytes sin procesar que se puede comparar mediante memcmp o un método equivalente.  Por ejemplo:

```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))
{
}
```

La función de devolución de llamada [XUserDeviceAssociationChangedCallback](https://docs.xbox.com/es/reference/system/xuser/functions/xuserdeviceassociationchangedcallback.md) usa un puntero a una estructura XUserDeviceAssociationChange.

La función de devolución de llamada pasa el contexto a la función [XUserRegisterForDeviceAssociationChanged](https://docs.xbox.com/es/reference/system/xuser/functions/xuserregisterfordeviceassociationchanged.md) cuando se registra la devolución de llamada.

La función [XUserRegisterForDeviceAssociationChanged](https://docs.xbox.com/es/reference/system/xuser/functions/xuserregisterfordeviceassociationchanged.md) registra una devolución de llamada para los eventos de cambio de asociación de dispositivos de usuario.

## Requisitos

**Encabezado:** XUser.h

**Plataformas compatibles:** Windows, consolas de la familia XBOX One y consolas XBOX Series

## Consulte también

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

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

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


## Related topics

- [XUserDeviceAssociationChangedCallback](https://docs.xbox.com/es/reference/system/xuser/functions/xuserdeviceassociationchangedcallback.md)
- [APP_LOCAL_DEVICE_ID](https://docs.xbox.com/es/reference/system/xuser/structs/app_local_device_id.md)
- [XUser (contenido de la API)](https://docs.xbox.com/es/reference/system/xuser/xuser_members.md)
- [XUserUnregisterForDeviceAssociationChanged](https://docs.xbox.com/es/reference/system/xuser/functions/xuserunregisterfordeviceassociationchanged.md)
- [XUserRegisterForDeviceAssociationChanged](https://docs.xbox.com/es/reference/system/xuser/functions/xuserregisterfordeviceassociationchanged.md)
