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

# 초대 보내기

> Title-Callable UI 오버레이 또는 사용자 지정 인게임 UI가 있는 XblMultiplayerSendInvitesAsync API를 사용하여 타이틀에서 XBOX 멀티플레이어 게임 초대를 보냅니다.

이 항목을 사용하여 XBOX 서비스에서 사용자 간 멀티플레이어 게임 세션을 구성합니다.

게임은 다른 사용자에게 게임 세션에 참가하도록 초대를 보냅니다. 다른 사용자에게 게임 초대를 보내는 방법은 두 가지가 있습니다.
Title-Callable UI(TCUI)(시스템 UI 오버레이)를 사용하거나 타이틀에서 구현한 사용자 지정 UI를 사용할 수 있습니다.

## Title-Callable UI(TCUI)(시스템 UI 오버레이) 사용

[XGameUiShowSendGameInviteAsync](/reference/system/xgameui/functions/xgameuishowsendgameinviteasync) API를 호출하면 친구를 초대하기 위한 표준 시스템 UI 오버레이가 검색됩니다.
이는 사용자가 게임에 초대할 친구 또는 [최근 플레이어 목록](/services/xbox-services/multiplayer/mpa/concepts/live-mpa-recent-players)의 사용자를 선택하기 위해 탐색할 수 있는 UI를 표시합니다.
사용자가 **확인**을 선택하면 선택한 사용자에게 초대가 전송됩니다.

## 타이틀에서 구현한 사용자 지정 UI 사용

타이틀은 온라인 친구를 보고 게임 세션에 초대하기 위한 사용자 지정 UI를 구현할 수 있습니다.
다음 코드와 같이 [XblMultiplayerSendInvitesAsync](/reference/live/xsapi-c/multiplayer_c/functions/xblmultiplayersendinvitesasync) API를 사용하여 [XboxUserId (XUID)](/services/xbox-services/multiplayer/mpa/concepts/live-mpa-activities)로 정의된 사용자 집합에 초대를 보냅니다.
이는 기본 시스템 UI 대신 자체 인게임 UI를 사용하려는 경우 유용합니다.

### Flat C

```cpp theme={null}
auto asyncBlock = std::make_unique<XAsyncBlock>();
asyncBlock->queue = queue;
asyncBlock->context = nullptr;
asyncBlock->callback = [](XAsyncBlock* asyncBlock)
{
    std::unique_ptr<XAsyncBlock> asyncBlockPtr{ asyncBlock }; // Take ownership of the XAsyncBlock*
    size_t handlesCount = 1; // must be equal to invites that are requested
    XblMultiplayerInviteHandle handles[1] = {};
    HRESULT hr = XblMultiplayerSendInvitesResult(asyncBlock, handlesCount, handles);
};

uint64_t xuids[1] = {};
xuids[0] = targetXuid;
size_t xuidsCount = 1;

HRESULT hr = XblMultiplayerSendInvitesAsync(
    xblContextHandle,
    &sessionReference,
    xuids,
    xuidsCount,
    titleId,
    contextStringId,
    customActivationContext,
    asyncBlock.get());
if (SUCCEEDED(hr))
{
    // The call succeeded, so release the std::unique_ptr ownership of XAsyncBlock* since the callback will take ownership.
    // If the call fails, the std::unique_ptr will keep ownership and delete the XAsyncBlock*
    asyncBlock.release();
}
```

## 참조 API 문서

* [Xgameactivation (API contents)](/reference/system/xgameactivation/xgameactivation_members)
* [xgameui (API contents)](/reference/system/xgameui/xgameui_members)
  * Functions
    * [XGameUiShowSendGameInviteAsync](/reference/system/xgameui/functions/xgameuishowsendgameinviteasync)
* [multiplayer\_c (API contents)](/reference/live/xsapi-c/multiplayer_c/multiplayer_c_members)
  * Functions
    * [XblMultiplayerSendInvitesAsync](/reference/live/xsapi-c/multiplayer_c/functions/xblmultiplayersendinvitesasync)
    * [XblMultiplayerSendInvitesResult](/reference/live/xsapi-c/multiplayer_c/functions/xblmultiplayersendinvitesresult)
  * Structures
    * [XblMultiplayerInviteHandle](/reference/live/xsapi-c/multiplayer_c/structs/xblmultiplayerinvitehandle)
* [xasync (API contents)](/reference/system/xasync/xasync_members)
  * Structures
    * [XAsyncBlock](/reference/system/xasync/structs/xasyncblock)

## 참고 항목

[XAsyncBlock](/reference/system/xasync/structs/xasyncblock)
[XblMultiplayerInviteHandle](/reference/live/xsapi-c/multiplayer_c/structs/xblmultiplayerinvitehandle)
[XblMultiplayerSendInvitesAsync](/reference/live/xsapi-c/multiplayer_c/functions/xblmultiplayersendinvitesasync)
[XblMultiplayerSendInvitesResult](/reference/live/xsapi-c/multiplayer_c/functions/xblmultiplayersendinvitesresult)
[XGameActivation (API Reference)](/reference/system/xgameactivation/xgameactivation_members)
[Multiplayer Manager를 사용하여 게임을 시작하기 위한 프로토콜 활성화 처리](/services/xbox-services/multiplayer/mpm/how-to/live-handle-protocol-activation)
[Multiplayer Manager를 사용하여 게임 초대 보내기](/services/xbox-services/multiplayer/mpm/how-to/live-send-game-invites)


## Related topics

- [다른 플레이어에게 초대 보내기(순서도)](/ko/services/xbox-services/multiplayer/mpm/concepts/flowcharts/live-mpm-send-invites.md)
- [초대 개요](/ko/services/xbox-services/multiplayer/invites/live-multiplayer-invites-overview.md)
- [Multiplayer Manager를 사용하여 게임 초대 보내기](/ko/services/xbox-services/multiplayer/mpm/how-to/live-send-game-invites.md)
- [초대 예제 코드](/ko/services/xbox-services/multiplayer/invites/how-to/live-invites-howto-nav.md)
- [다른 플레이어가 멀티플레이어 게임에 참여하도록 초대 보내기](/ko/services/xbox-services/multiplayer/mpa/concepts/live-mpa-invites.md)
