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

Spécifie l'ancienne et la nouvelle association d'appareil lorsqu'une association d'appareil change.

## Syntaxe

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

### Membres

*deviceId*\
Type : [APP\_LOCAL\_DEVICE\_ID](/fr/reference/system/xuser/structs/app_local_device_id)

L'ID de l'appareil dont l'association utilisateur change.

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

L'ancien ID utilisateur associé à l'appareil.

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

Le nouvel ID utilisateur associé à l'appareil.

## Remarques

Tous les arguments de XUserDeviceAssociationChange peuvent être « null » :

* Si deviceId est égal à **XUserNullDeviceId**, la modification d'utilisateur s'applique à tous les appareils, tous les appareils étant associés à un utilisateur connecté.
* Si oldUser est égal à **XUserNullUserLocalId**, l'association appareil-utilisateur est nouvelle.
* Si newUser est égal à **XUserNullUserLocalId**, l'association appareil-utilisateur existante est perdue.

<Note>*newUser* ne peut référencer que des utilisateurs déjà ajoutés au titre via un appel à [XUserAddAsync](/fr/reference/system/xuser/functions/xuseraddasync). Si le sélecteur système a été utilisé pour associer un périphérique d'entrée à un utilisateur que le titre ne connaît pas, newUser sera égal à **XUserNullUserLocalId**. Pour plus d'informations, consultez [Utilisateurs et périphériques d'entrée](/fr/build/core-features/common/user/users-input-devices).</Note>

Ces membres doivent être traités comme une structure d'octets bruts pouvant être comparée à l'aide de memcmp ou d'une méthode équivalente. Par exemple :

```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 fonction de rappel [XUserDeviceAssociationChangedCallback](/fr/reference/system/xuser/functions/xuserdeviceassociationchangedcallback) utilise un pointeur vers une structure XUserDeviceAssociationChange.

La fonction de rappel passe le contexte à la fonction [XUserRegisterForDeviceAssociationChanged](/fr/reference/system/xuser/functions/xuserregisterfordeviceassociationchanged) lors de l'inscription du rappel.

La fonction [XUserRegisterForDeviceAssociationChanged](/fr/reference/system/xuser/functions/xuserregisterfordeviceassociationchanged) inscrit un rappel pour les événements de modification de l'association entre utilisateur et appareil.

## Configuration requise

**En-tête :** XUser.h

**Plateformes prises en charge :** Windows, consoles de la famille XBOX One et consoles XBOX Series

## Voir aussi

[XUser](/fr/reference/system/xuser/xuser_members)

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

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


## Related topics

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