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

# PFMultiplayerJoinMatchmakingTicketFromId

> 初期チケット作成者から共有されたチケット ID とキュー名を使用して、1 人以上のローカル ユーザーを既存の PlayFab Multiplayer マッチメイキング チケットに参加させます。

チケット ID とキュー名を使用して、1 人以上の複数のローカル ユーザーをマッチメイキング チケットに参加させます。

## 構文

```cpp theme={null}
HRESULT PFMultiplayerJoinMatchmakingTicketFromId(  
    PFMultiplayerHandle handle,  
    uint32_t localUserCount,  
    const PFEntityKey* localUsers,  
    const char* localUserAttributes,  
    const char* ticketId,  
    const char* queueName,  
    void* asyncContext,  
    PFMatchmakingTicketHandle* ticket  
)  
```

### パラメーター

**`handle`**   PFMultiplayerHandle

PFMultiplayer API インスタンスのハンドルです。

**`localUserCount`**   uint32\_t

チケットに参加するローカル ユーザーの数です。

**`localUsers`**   [PFEntityKey\*](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/pfentitykey_clientsdk)\
*サイズ `localUserCount` の入力配列*

チケットに参加させるローカル ユーザーの配列です。

**`localUserAttributes`**   char\*\
*サイズ `localUserCount` の入力配列*

ローカル ユーザー属性文字列の配列です。ローカル ユーザーごとに 1 つの属性文字列を指定する必要があります。各属性文字列は、空の文字列またはシリアル化された JSON オブジェクトのいずれかである必要があります。例: `{"player_color":"blue","player_role":"tank"}`。

**`ticketId`**   char\*\
*null 終端です*

参加するチケットの ID です。

**`queueName`**   char\*\
*null 終端です*

チケットが属するキューです。

**`asyncContext`**   void\*\
*省略可能*

この呼び出しに完了状態の変更を関連付けるために使用できる、オプションでアプリ定義のポインター サイズのコンテキスト値です。

**`ticket`**   PFMatchmakingTicketHandle\*\
*ライブラリ割り当ての出力*

結果として得られるチケット オブジェクトです。

### 戻り値

型: HRESULT

呼び出しが成功した場合は `S_OK`、それ以外の場合はエラー コード。エラー コードを人間が読める形式で取得するには、[PFMultiplayerGetErrorMessage()](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/functions/pfmultiplayergeterrormessage) を使用します。

## 解説

ライブラリは、指定されたすべてのローカル ユーザーを自動的かつ非同期にマッチメイキング サービス上のチケットに参加させます。チケットのステータスが変わるたびに [PFMatchmakingTicketStatusChangedStateChange](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/structs/pfmatchmakingticketstatuschangedstatechange) が提供されます。チケットのステータスは [PFMatchmakingTicketGetStatus()](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmatchmakingticketgetstatus) からいつでもクエリできます。チケットは最初に `PFMatchmakingTicketStatus::Joining` 状態から開始します。<br /><br /> チケットが完了すると、[PFMatchmakingTicketStatusChangedStateChange](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/structs/pfmatchmakingticketstatuschangedstatechange) が提供されます。この時点で、マッチが見つかったか、失敗によりチケットが停止したかのいずれかです。成功した場合、見つかったマッチは [PFMatchmakingTicketGetMatch()](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmatchmakingticketgetmatch) からクエリできます。<br /><br /> 指定されたユーザーに対して既にチケットが多すぎるためにチケット作成が失敗した場合、透過的にそれら未処理のチケットをキャンセルし、その後チケット作成を再試行します。

## 要件

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

## 関連項目

[PFMatchmaking のメンバー](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/pfmatchmaking_members)


## Related topics

- [MPSD から PlayFab Multiplayer と MPA への移行](/ja-jp/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-to-mlp.md)
- [PFMatchmakingTicketStatus](/ja-jp/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/enums/pfmatchmakingticketstatus.md)
- [PFMatchmakingTicketConfiguration](/ja-jp/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/structs/pfmatchmakingticketconfiguration.md)
- [Matchmaking SDK quickstart](/ja-jp/services/playfab/multiplayer/matchmaking/quickstart-client-sdk.md)
- [PFMultiplayerCreateMatchmakingTicket](/ja-jp/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmultiplayercreatematchmakingticket.md)
