XblAchievementsUpdateAchievementAsync
実績の進行状況の更新と実績のロック解除を許可します。
構文
HRESULT XblAchievementsUpdateAchievementAsync(
XblContextHandle xboxLiveContext,
uint64_t xboxUserId,
const char* achievementId,
uint32_t percentComplete,
XAsyncBlock* async
)
パラメーター
xboxLiveContext _In_
型: XblContextHandle
XblContextCreateHandle で作成された Xbox Live コンテキスト ハンドル。
xboxUserId _In_
型: uint64_t
プレイヤーの Xbox ユーザー ID。
achievementId _In_z_
型: char*
XDP またはデベロッパー センターで定義されている UTF-8 エンコードされた実績 ID。
percentComplete _In_
型: uint32_t
進行状況を示す、実績の完了パーセント値。 有効な値は 1 ~ 100 です。 実績をロック解除するには、100 に設定します。 進行状況は、サーバーによって送信された最大値に設定されます。
async _In_
型: XAsyncBlock*
呼び出し元に割り当てられた AsyncBlock。
戻り値
型: HRESULT
この API 操作の HRESULT 結果コード。
解説
この API は、PC と Xbox One でオフラインの場合でも動作します。 タイトルが実行されていない場合でも、接続が再確立されると、システムによってオフラインの更新プログラムが送信されます。 非同期操作の結果は、AsyncBlock コールバック内または AsyncBlock 完了後に XAsyncGetStatus を呼び出すことによって取得できます。 実績が既にロック解除されている場合、または進行状況の値がサーバーで現在記録されている値以下の場合、コールバック内の XAsyncGetStatus() は HTTP_E_STATUS_NOT_MODIFIED (0x80190130L) を返します。
REST 呼び出し
V2 POST /users/xuid({xuid})/achievements/{scid}/update
要件
ヘッダー: achievements_c.h
ライブラリ: Microsoft.Xbox.Services.14x.GDK.C.lib