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

# 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](/reference/system/xuser/structs/app_local_device_id)

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

*oldUser*\
Tipo: [XUserLocalId](/reference/system/xuser/structs/xuserlocalid)

El identificador del usuario anterior asociado al dispositivo.

*newUser*\
Tipo: [XUserLocalId](/reference/system/xuser/structs/xuserlocalid)

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](/reference/system/xuser/functions/xuseraddasync). 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](/build/core-features/common/user/users-input-devices) para obtener más información.</Note>

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](/reference/system/xuser/functions/xuserdeviceassociationchangedcallback) usa un puntero a una estructura XUserDeviceAssociationChange.

La función de devolución de llamada pasa el contexto a la función [XUserRegisterForDeviceAssociationChanged](/reference/system/xuser/functions/xuserregisterfordeviceassociationchanged) cuando se registra la devolución de llamada.

La función [XUserRegisterForDeviceAssociationChanged](/reference/system/xuser/functions/xuserregisterfordeviceassociationchanged) 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](/reference/system/xuser/xuser_members)

[XUserDeviceAssociationChangedCallback](/reference/system/xuser/functions/xuserdeviceassociationchangedcallback)

[XUserRegisterForDeviceAssociationChanged](/reference/system/xuser/functions/xuserregisterfordeviceassociationchanged)


## Related topics

- [XUserDeviceAssociationChangedCallback](/es/reference/system/xuser/functions/xuserdeviceassociationchangedcallback.md)
- [APP_LOCAL_DEVICE_ID](/es/reference/system/xuser/structs/app_local_device_id.md)
- [XUser](/es/reference/system/xuser/xuser_members.md)
- [XUserRegisterForDeviceAssociationChanged](/es/reference/system/xuser/functions/xuserregisterfordeviceassociationchanged.md)
- [XUserUnregisterForDeviceAssociationChanged](/es/reference/system/xuser/functions/xuserunregisterfordeviceassociationchanged.md)
