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

# Gestion d'un changement de présence d'appareil

> Exemples de code pour s'abonner aux événements de changement de présence d'appareil XBOX Live et ajouter ou supprimer des gestionnaires lorsqu'un utilisateur se connecte à un appareil ou s'en déconnecte.

Cette rubrique fournit un exemple de code pour gérer un changement de présence d'appareil.

Cette rubrique couvre les points suivants :

* [Abonnement à un changement de présence d'appareil](#stadpc)
* [Désabonnement d'un changement de présence d'appareil](#ufadpc)
* [Ajout d'un gestionnaire de changement de présence d'appareil](#aadpch)
* [Suppression d'un gestionnaire de changement de présence d'appareil](#radpch)

<a id="stadpc" />

## Abonnement à un changement de présence d'appareil

#### API C plate

```cpp theme={null}
uint64_t xuid{ 123 };

HRESULT hr = XblPresenceSubscribeToDevicePresenceChange(
    xboxLiveContext,
    xuid,
    &state.devicePresenceChangeSubscription
);
```

<a id="ufadpc" />

## Désabonnement d'un changement de présence d'appareil

#### API C plate

```cpp theme={null}
HRESULT hr = XblPresenceUnsubscribeFromDevicePresenceChange(
    xboxLiveContext,
    state.devicePresenceChangeSubscription
);

state.devicePresenceChangeSubscription = nullptr;
```

<a id="aadpch" />

## Ajout d'un gestionnaire de changement de présence d'appareil

#### API C plate

```cpp theme={null}
state.devicePresenceChangedHandlerToken = XblPresenceAddDevicePresenceChangedHandler(
    xboxLiveContext,
    [](void* context, uint64_t xuid, XblPresenceDeviceType deviceType, bool isUserLoggedOnDevice)
    {
        UNREFERENCED_PARAMETER(context);
        LogToFile("Device presence change notification received:");
        LogToFile("Xuid = %u, deviceType = %u, isUserLoggedOnDevice = %u", xuid, deviceType, isUserLoggedOnDevice);
    },
    nullptr
);
```

Pour plus d'informations, consultez
[XblPresenceDeviceType](/fr-CA/reference/live/xsapi-c/presence_c/enums/xblpresencedevicetype).

<a id="radpch" />

## Suppression d'un gestionnaire de changement de présence d'appareil

#### API C plate

```cpp theme={null}
HRESULT hr = XblPresenceRemoveDevicePresenceChangedHandler(
    xboxLiveContext,
    state.devicePresenceChangedHandlerToken
);

state.devicePresenceChangedHandlerToken = 0;
```


## Related topics

- [Exemple de code de présence enrichie](/fr-CA/services/xbox-services/community/presence/how-to/live-presence-howto-nav.md)
- [Procédures](/fr-CA/services/xbox-services/community/presence/how-to/index.md)
- [Gestion d'un changement de présence de titre](/fr-CA/services/xbox-services/community/presence/how-to/live-handling-a-title-presence-change.md)
- [Gestion d'un changement de relation sociale](/fr-CA/services/xbox-services/community/people-system/how-to/live-handling-a-relationship-change.md)
- [Gestion d'un changement de statistique basée sur les événements](/fr-CA/services/xbox-services/player-data/stats-leaderboards/event-based/how-to/live-handling-eb-stat-change.md)
