Skip to main content

XblAchievementsManagerUpdateAchievement

実績の進捗を更新し、実績のアンロックを可能にします。

構文

パラメーター

xboxUserId   _In_
型: uint64_t
プレイヤーの XBOX ユーザー ID。 achievementId   _In_
型: char*
Dev Center で定義された、UTF-8 エンコードされた実績 ID。 currentProgess   _In_
型: uint8_t
進捗を示す実績の完了率。有効な値は 1 から 100 までです。実績をアンロックするには 100 に設定します。進捗はサーバーによって、送信された最大の値に設定されます。

戻り値

型: HRESULT この API 操作の HRESULT 戻り値コード。

解説

XblAchievementsManagerAddLocalUser で Achievements Manager が正常に初期化されている場合、この API は PC および XBOX コンソールがオフラインの場合でも動作します。オフライン更新は、タイトルが実行されていない場合でも、接続が再確立されたときにシステムによって送信されます。操作の結果は、ローカルにすぐには反映されません。更新が反映される最も早いタイミングは、次のフレームでの DoWork の呼び出し後です。変更が反映されると、DoWork によって返される配列に、イベント タイプが AchievementProgressUpdated の XblAchievementsManagerEvent が含まれ、新しい進捗によって実績がアンロックされた場合はさらに AchievementUnlocked タイプの追加のイベントも含まれる可能性があります。実績が既にアンロックされているか、進捗値がサーバーからキャッシュされている値以下の場合、この関数はそれぞれ E_NOT_VALID_STATE または E_INVALIDARG を返します。この関数で更新できるのはタイトルベースの実績のみです。イベントベースの実績はこの関数では更新できません。

REST 呼び出し

V2 POST /users/xuid()/achievements//update

要件

ヘッダー: achievements_manager_c.h ライブラリ: Microsoft.Xbox.Services.14x.GDK.C.lib

関連項目

achievements_manager_c
最終更新日 2026年8月24日