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

# XblAchievementsManagerAddLocalUser

> XblAchievementsManagerAddLocalUser

# XblAchievementsManagerAddLocalUser

初始化成就管理器，并为用户生成本地成就缓存。

## 语法

```cpp theme={null}
HRESULT XblAchievementsManagerAddLocalUser(  
         XblUserHandle user,  
         XTaskQueueHandle queue  
)  
```

### 参数

*user*   \_In\_\
类型：XblUserHandle

用于获取成就的 XBOX Live 用户。

*queue*   \_In\_opt\_\
类型：XTaskQueueHandle

用于此用户后台操作的队列（可选）。

### 返回值

类型：HRESULT

此 API 操作的 HRESULT 返回代码。

## 备注

由于 `XblAchievementsManagerAddLocalUser` 需要 Internet 连接才能正确跟踪用户信息，因此仅应在连接到 Internet 时调用它。使用 [XNetworkingRegisterConnectivityHintChanged](/reference/networking/xnetworking/functions/xnetworkingregisterconnectivityhintchanged) 是检查连接情况的一种好方法。

如果成就管理器未初始化，对 [XblAchievementsManagerUpdateAchievement](/reference/live/xsapi-c/achievements_manager_c/functions/xblachievementsmanagerupdateachievement) 的调用将失败。在这种情况下，应当在满足成就条件时改为调用 [XblAchievementsUpdateAchievementAsync](/reference/live/xsapi-c/achievements_c/functions/xblachievementsupdateachievementasync)，以确保仍能跟踪进度。以下示例说明如何实现该逻辑：

```cpp theme={null}
HRESULT hr = XblAchievementsManagerUpdateAchievement(xuid, "2", 3);
if (FAILED(hr))
{
    XAsyncBlock async{};
    hr = XblAchievementsUpdateAchievementAsync(m_xblContext, xuid, "2", 3, &async);
    if (SUCCEEDED(hr))
    {
        // this simple example is thread blocking. 
        // replace with whatever async pattern used by other XAsync calls in title
        XAsyncGetStatus(&async, true); 
    }
}
```

## 要求

**头文件：** 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)


## Related topics

- [XBOX 成就管理器 API 概述](/zh-CN/services/xbox-services/player-data/achievements/achievements-manager/live-achievements-manager-overview.md)
- [XblAchievementsManagerUpdateAchievement](/zh-CN/reference/live/xsapi-c/achievements_manager_c/functions/xblachievementsmanagerupdateachievement.md)
- [XblAchievementsManagerRemoveLocalUser](/zh-CN/reference/live/xsapi-c/achievements_manager_c/functions/xblachievementsmanagerremovelocaluser.md)
- [XblSocialManagerAddLocalUser](/zh-CN/reference/live/xsapi-c/social_manager_c/functions/xblsocialmanageraddlocaluser.md)
- [XblMultiplayerManagerLobbySessionAddLocalUser](/zh-CN/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessionaddlocaluser.md)
