Skip to main content

XUserAddByIdWithUiAsync

ゲーム招待から取得した XUID に基づいて、ゲーム セッションにユーザーを非同期に追加します。この関数はゲーム招待への応答の場合にのみ使用してください。

構文

パラメーター

userId   _In_
Type: uint64_t
追加するユーザーの XUID。この XUID は、XGameInviteRegisterForEvent で登録されたゲームのコールバックで受信した inviteUri を解析することで取得する必要があります。 async   _Inout_
Type: XAsyncBlock*
呼び出しの状態のポーリングおよび呼び出し結果の取得に使用する XAsyncBlock

戻り値

Type: HRESULT HRESULT の成功またはエラー コード。 エラー コードの一覧については、エラー コード を参照してください。

解説

XUserAddByIdWithUiAsync は、ユーザーをゲームに追加するための非同期操作を開始します。操作の結果を取得するには、XUserAddByIdWithUiResult を使用します。 ゲーム招待を扱う際、本体では、ゲーム招待で指定された人物の XUID が、既にゲームにサインインしている人と一致しない可能性が常にあります。XUserAddByIdWithUiAsync を使用すると、ゲームは招待 URI から解析された XUID を使用してそのユーザーを追加できます。 この関数は、UI を表示せずにユーザーを追加しようとします。UI が表示される唯一の理由は、ユーザーがトークンの問題を解決する必要がある場合です。本体では、UI が表示されることはまれです。 ユーザーがデバイスにサインインしていない場合、XUserAddByIdWithUiResult は E_GAMEUSER_USER_NOT_FOUND を返します。 XUsers API から取得したそれぞれの XUserHandle ハンドルは、XUserCloseHandle を呼び出して 1 回だけ閉じる必要があります。 ゲーム招待を受け取るためには、開発者は XGameInviteRegisterForEvent を呼び出して XGameInviteCallback を購読する必要があります。このコールバックが呼び出されたとき、ゲームは受信した inviteUri を解析し、その招待を受け取るユーザーの XUID を特定する必要があります。その時点で、ゲームは招待を受け取る人物の XUserHandle を取得することを検討する場合があります。次のコードでは、これがどのように機能するかを示します。

要件

ヘッダー: XUser.h ライブラリ: xgameruntime.lib サポートされているプラットフォーム: Windows、Steam Deck、XBOX One 本体、XBOX Series 本体

関連項目

XUser
XUserCloseHandle
最終更新日 2026年8月24日