次の方法で共有


XblMultiplayerManagerGameSessionSetSynchronizedProperties

XblMultiplayerSessionWriteMode::SynchronizedUpdate を使用して、ゲーム セッションのカスタム プロパティの値を設定します。

構文

HRESULT XblMultiplayerManagerGameSessionSetSynchronizedProperties(  
         const char* name,  
         const char* valueJson,  
         void* context  
)  

パラメーター

name _In_z_
型: char*

設定するカスタム プロパティの名前。

valueJson _In_z_
型: char*

JSON 文字列としてプロパティに割り当てる値。

context _In_opt_
型: void*

省略可能。 開始呼び出しに XblMultiplayerEvent を関連付けるためのアプリケーション定義データ。

戻り値

型: HRESULT

この API 操作の HRESULT 結果コード。

解説

この関数は、ゲーム セッションのカスタム プロパティの JSON 文字列として表される値を設定します。 カスタム プロパティはいつでも変更できます。 カスタム プロパティがデバイス間で共有されている場合、または複数のデバイスによって同時に更新される可能性がある場合は、この関数を使用して、原子性を確保し、それらのカスタム プロパティの値を変更しながらデバイス間の競合を解決します。 カスタム プロパティがデバイス間で共有されていない場合は、代わりに XblMultiplayerManagerGameSessionSetProperties 関数を使用して、そのカスタム プロパティの値を変更します。
競合が原因で競合状態が発生した場合、サービスはカスタム プロパティの変更要求を拒否する場合があります。 要求が拒否された場合、サービスは HTTP_E_STATUS_PRECOND_FAILED を返します。 競合が発生した場合は、カスタム プロパティを変更する必要性を再評価し、必要に応じて、この関数を再度呼び出して要求を再送信します。
この関数の結果は、イベントの種類が XblMultiplayerEventType::SessionSynchronizedPropertyWriteCompleted に設定されたマルチプレイヤー イベントとして配信されます。 XblMultiplayerManagerDoWork を呼び出して、マルチプレイヤー イベントを取得できます。

要件

ヘッダー: multiplayer_manager_c.h

ライブラリ: Microsoft.Xbox.Services.14x.GDK.C.lib

関連項目

multiplayer_manager_c
XblMultiplayerManagerGameSessionSetSynchronizedHost
XblMultiplayerEvent