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

# XblAchievementsManagerUpdateAchievement

> XblAchievementsManagerUpdateAchievement

# XblAchievementsManagerUpdateAchievement

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

## 構文

```cpp theme={null}
HRESULT XblAchievementsManagerUpdateAchievement(  
         uint64_t xboxUserId,  
         const char* achievementId,  
         uint8_t currentProgess  
)  
```

### パラメーター

*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](/reference/live/xsapi-c/achievements_manager_c/functions/xblachievementsmanageraddlocaluser) で Achievements Manager が正常に初期化されている場合、この API は PC および XBOX コンソールがオフラインの場合でも動作します。オフライン更新は、タイトルが実行されていない場合でも、接続が再確立されたときにシステムによって送信されます。操作の結果は、ローカルにすぐには反映されません。更新が反映される最も早いタイミングは、次のフレームでの DoWork の呼び出し後です。変更が反映されると、DoWork によって返される配列に、イベント タイプが AchievementProgressUpdated の [XblAchievementsManagerEvent](/reference/live/xsapi-c/achievements_manager_c/structs/xblachievementsmanagerevent) が含まれ、新しい進捗によって実績がアンロックされた場合はさらに AchievementUnlocked タイプの追加のイベントも含まれる可能性があります。実績が既にアンロックされているか、進捗値がサーバーからキャッシュされている値以下の場合、この関数はそれぞれ E\_NOT\_VALID\_STATE または E\_INVALIDARG を返します。この関数で更新できるのはタイトルベースの実績のみです。イベントベースの実績はこの関数では更新できません。

## REST 呼び出し

V2 POST /users/xuid({xuid})/achievements/{scid}/update

## 要件

**ヘッダー:** achievements\_manager\_c.h

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

## 関連項目

[achievements\_manager\_c](/reference/live/xsapi-c/achievements_manager_c/achievements_manager_c_members)
