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

# XGameActivationCallback

> XGameActivationCallback

# XGameActivationCallback

Rappel défini par une application pour les événements d'activation.

## Syntaxe

```cpp theme={null}
void CALLBACK XGameActivationCallback(  
         void* context,  
         const XGameActivationInfo* activationInfo  
)  
```

### Paramètres

*context*   \_In\_opt\_\
Type : void\*

Contexte passé à [XGameActivationRegisterForEvent](https://docs.xbox.com/fr-CA/reference/system/xgameactivation/functions/xgameactivationregisterforevent.md).

*activationInfo*   \_In\_\
Type : [XGameActivationInfo](https://docs.xbox.com/fr-CA/reference/system/xgameactivation/structs/xgameactivationinfo.md)\*

Pointeur vers une structure [XGameActivationInfo](https://docs.xbox.com/fr-CA/reference/system/xgameactivation/structs/xgameactivationinfo.md) qui contient les informations d'activation. Le champ `type` indique le type d'activation, et le champ correspondant de l'union contient les données pertinentes.

### Valeur de retour

Type : void

## Remarques

Pour inscrire un rappel pour les événements d'activation, appelez [XGameActivationRegisterForEvent](https://docs.xbox.com/fr-CA/reference/system/xgameactivation/functions/xgameactivationregisterforevent.md). La fonction prend comme argument un pointeur vers un **XGameActivationCallback**.

Pour désinscrire un rappel pour les événements d'activation, appelez [XGameActivationUnregisterForEvent](https://docs.xbox.com/fr-CA/reference/system/xgameactivation/functions/xgameactivationunregisterforevent.md).

Le rappel reçoit une structure [XGameActivationInfo](https://docs.xbox.com/fr-CA/reference/system/xgameactivation/structs/xgameactivationinfo.md). Vérifiez le champ `type` pour déterminer le type d'activation et gérez chaque type de façon appropriée.

> [!NOTE]
>
> Ce rappel remplace à la fois `XGameProtocolActivationCallback` et `XGameInviteEventCallback`. Consultez [XGameActivation](https://docs.xbox.com/fr-CA/reference/system/xgameactivation/xgameactivation_members.md) pour obtenir des conseils de migration.

L'exemple de code suivant s'inscrit à un rappel d'activation et gère tous les types d'activation.

```cpp theme={null}
#include <XTaskQueue.h>
#include <XGameActivation.h>

XTaskQueueHandle g_taskQueue;
XTaskQueueRegistrationToken g_activationToken;

void CALLBACK OnActivation(void* context, const XGameActivationInfo* activationInfo)
{
    switch (activationInfo->type)
    {
    case XGameActivationType::Protocol:
        // Perform your game action based on activationInfo->protocolUri
        HandleProtocolActivation(activationInfo->protocolUri);
        return;

    case XGameActivationType::File:
        // e.g. Load the game file; activationInfo->file
        HandleFileActivation(activationInfo->file);
        return;

    case XGameActivationType::PendingGameInvite:
        // Game has received a game invite. Handle it by giving the user the option to
        // accept or reject the invite via UI.
        {
            bool userAcceptsInvite = HandlePendingGameInviteWithUI(activationInfo->inviteUri);
            if (userAcceptsInvite)
            {
                XGameActivationAcceptPendingInvite(activationInfo->inviteUri);
            }
        }
        return;

    case XGameActivationType::AcceptedGameInvite:
        // e.g. Join the game session that we are invited to
        HandleGameInvite(activationInfo->inviteUri);
        return;

    default:
        // Other unknown activation types. Just ignore.
        return;
    }
}

void InitializeGame()
{
    XGameActivationRegisterForEvent(g_taskQueue, nullptr, OnActivation, &g_activationToken);
}

void ShutdownGame()
{
    XGameActivationUnregisterForEvent(g_activationToken, true);
}
```

## Configuration requise

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

**Bibliothèque :** xgameruntime.lib

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

## Documentation conceptuelle

* [Activation par type de fichier](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/overviews/filetypeactivation)
* [Réception d'invitations](https://docs.xbox.com/fr-CA/services/xbox-services/multiplayer/invites/how-to/live-invites-receive.md)

## Voir aussi

[XGameActivation](https://docs.xbox.com/fr-CA/reference/system/xgameactivation/xgameactivation_members.md)

[XGameActivationRegisterForEvent](https://docs.xbox.com/fr-CA/reference/system/xgameactivation/functions/xgameactivationregisterforevent.md)

[XGameActivationUnregisterForEvent](https://docs.xbox.com/fr-CA/reference/system/xgameactivation/functions/xgameactivationunregisterforevent.md)

[XGameActivationInfo](https://docs.xbox.com/fr-CA/reference/system/xgameactivation/structs/xgameactivationinfo.md)

[XGameActivationType](https://docs.xbox.com/fr-CA/reference/system/xgameactivation/enums/xgameactivationtype.md)


## Related topics

- [XGameActivationType](https://docs.xbox.com/fr-CA/reference/system/xgameactivation/enums/xgameactivationtype.md)
- [XGameActivationUnregisterForEvent](https://docs.xbox.com/fr-CA/reference/system/xgameactivation/functions/xgameactivationunregisterforevent.md)
- [XGameActivationInfo](https://docs.xbox.com/fr-CA/reference/system/xgameactivation/structs/xgameactivationinfo.md)
- [XGameProtocolActivationCallbackXGameProtocol (déprécié)](https://docs.xbox.com/fr-CA/reference/system/xgameprotocol/functions/xgameprotocolactivationcallback.md)
- [XGameActivationRegisterForEvent](https://docs.xbox.com/fr-CA/reference/system/xgameactivation/functions/xgameactivationregisterforevent.md)
