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

활성화 이벤트에 대해 애플리케이션이 정의하는 콜백입니다.

## 구문

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

### 매개 변수

*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` 필드는 활성화 종류를 나타내며, 해당 union 필드에 관련 데이터가 포함됩니다.

### 반환 값

형식: void

## 설명

활성화 이벤트에 대한 콜백을 등록하려면 [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);
}
```

## 요구 사항

**헤더:** XGameActivation.h

**라이브러리:** xgameruntime.lib

**지원 플랫폼:** Windows, XBOX One 계열 콘솔 및 XBOX Series 콘솔

## 개념 문서

* [파일 형식 활성화](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/overviews/filetypeactivation)
* [초대 받기](/services/xbox-services/multiplayer/invites/how-to/live-invites-receive)

## 함께 보기

[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](/ko/reference/system/xgameactivation/enums/xgameactivationtype.md)
- [XGameActivationInfo](/ko/reference/system/xgameactivation/structs/xgameactivationinfo.md)
- [XGameActivationRegisterForEvent](/ko/reference/system/xgameactivation/functions/xgameactivationregisterforevent.md)
- [XGameActivationUnregisterForEvent](/ko/reference/system/xgameactivation/functions/xgameactivationunregisterforevent.md)
- [XGameActivationAcceptPendingInvite](/ko/reference/system/xgameactivation/functions/xgameactivationacceptpendinginvite.md)
