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

# XGameActivationCallback

> XGameActivationCallback

# XGameActivationCallback

アプリケーションがアクティブ化イベントに対して定義するコールバック。

## Syntax

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

### Parameters

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

[XGameActivationRegisterForEvent](/reference/system/xgameactivation/functions/xgameactivationregisterforevent) に渡されたコンテキスト。

*activationInfo*   \_In\_\
型: [XGameActivationInfo](/reference/system/xgameactivation/structs/xgameactivationinfo)\*

アクティブ化情報を含む [XGameActivationInfo](/reference/system/xgameactivation/structs/xgameactivationinfo) 構造体へのポインター。`type` フィールドはアクティブ化の種類を示し、対応する共用体フィールドには関連するデータが含まれます。

### Return value

型: void

## Remarks

アクティブ化イベントのコールバックを登録するには、[XGameActivationRegisterForEvent](/reference/system/xgameactivation/functions/xgameactivationregisterforevent) を呼び出します。この関数は引数として **XGameActivationCallback** へのポインターを使用します。

アクティブ化イベントのコールバックの登録を解除するには、[XGameActivationUnregisterForEvent](/reference/system/xgameactivation/functions/xgameactivationunregisterforevent) を呼び出します。

コールバックは [XGameActivationInfo](/reference/system/xgameactivation/structs/xgameactivationinfo) 構造体を受け取ります。`type` フィールドを確認してアクティブ化の種類を判断し、各種類を適切に処理してください。

<Note>このコールバックは `XGameProtocolActivationCallback` と `XGameInviteEventCallback` の両方を置き換えます。移行に関するガイダンスについては、[XGameActivation](/reference/system/xgameactivation/xgameactivation_members) を参照してください。</Note>

次のコード サンプルは、アクティブ化コールバックに登録し、すべてのアクティブ化タイプを処理します。

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

## Requirements

**ヘッダー:** XGameActivation.h

**ライブラリ:** xgameruntime.lib

**サポートされているプラットフォーム:** Windows、XBOX One ファミリー本体および XBOX Series 本体

## Conceptual documentation

* [File type activation](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/overviews/filetypeactivation)
* [Receiving invites](/services/xbox-services/multiplayer/invites/how-to/live-invites-receive)

## See also

[XGameActivation](/reference/system/xgameactivation/xgameactivation_members)

[XGameActivationRegisterForEvent](/reference/system/xgameactivation/functions/xgameactivationregisterforevent)

[XGameActivationUnregisterForEvent](/reference/system/xgameactivation/functions/xgameactivationunregisterforevent)

[XGameActivationInfo](/reference/system/xgameactivation/structs/xgameactivationinfo)

[XGameActivationType](/reference/system/xgameactivation/enums/xgameactivationtype)


## Related topics

- [XGameActivationType](/ja-jp/reference/system/xgameactivation/enums/xgameactivationtype.md)
- [XGameActivationInfo](/ja-jp/reference/system/xgameactivation/structs/xgameactivationinfo.md)
- [XGameActivationRegisterForEvent](/ja-jp/reference/system/xgameactivation/functions/xgameactivationregisterforevent.md)
- [XGameActivationUnregisterForEvent](/ja-jp/reference/system/xgameactivation/functions/xgameactivationunregisterforevent.md)
- [XGameActivationAcceptPendingInvite](/ja-jp/reference/system/xgameactivation/functions/xgameactivationacceptpendinginvite.md)
