> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# add_local_user

> chat_manager::add_local_user

# chat\_manager::add\_local\_user

向本地 chat\_manager 实例添加本地用户。

## 语法

```cpp theme={null}
chat_user* add_local_user(  
    PCWSTR xboxUserId  
)  
```

### 参数

*xboxUserId*   \_In\_\
类型：PCWSTR

要添加的本地用户的 XBOX 用户 ID。

### 返回值

类型：chat\_user\*

## 备注

添加到 Game Chat 2 实例的所有本地用户都需要先使用 [XUserAddAsync](https://docs.xbox.com/zh-CN/reference/system/xuser/functions/xuseraddasync.md) 进行添加。

除非本地用户和远程用户的总数已达到 chat\_manager::initialize() 中指定的最大用户数，否则将无条件添加该用户。

返回值是与此用户关联的 chat\_user 对象的指针。如果 XBOX 用户 ID 无效，则该用户的 chat\_indicator 值将为 game\_chat\_user\_chat\_indicator::platform\_restricted。

典型模式为：

```cpp theme={null}
chat_user* newLocalChatUser = chat_manager::singleton_instance().add_local_user(&amp;lt;local_user_xuid&amp;gt;);

size_t chatUserCount; 
chat_user_array chatUsers; 
chat_manager::singleton_instance().get_remote_chat_users(&chatUserCount, &chatUsers); 
for (uint32_t chatUserIndex = 0; chatUserIndex < chatUsercount; ++chatUserIndex) 
{ 
    chat_user* chatUser = chatUsers[chatUserIndex]; 
    game_chat_communication_relationship_flags relationship = game_chat_communication_relationship_flags::none; 
    if (chatUser can send and receive to/from newLocalChatUser) 
    { 
        relationship = c_communicationRelationshipSendAndReceiveAll; 
    } 
    else if (chatUser can send to newLocalChatUser) 
    { 
        relationship = c_communicationRelationshipSendAll; 
    } 
    else if (chatUser can receive from newLocalChatUser) 
    { 
        relationship = c_communicationRelationshipReceiveAll; 
    } 

    newLocalChatUser->set_communication_relationship(chatUser, relationship); 
} 
```

## 要求

**头文件：** GameChat2.h

**支持的平台：** Windows、XBOX One 系列主机和 XBOX Series 主机

## 另请参阅

[chat\_manager](https://docs.xbox.com/zh-CN/reference/chat/gamechat2/classes/chat_manager/chat_manager.md)\
[chat\_user](https://docs.xbox.com/zh-CN/reference/chat/gamechat2/classes/chat_user/chat_user.md)\
[chat\_manager::add\_remote\_user](https://docs.xbox.com/zh-CN/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_add_remote_user.md)\
[chat\_manager::remove\_user](https://docs.xbox.com/zh-CN/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_remove_user.md)


## Related topics

- [chat_user](https://docs.xbox.com/zh-CN/reference/chat/gamechat2/classes/chat_user/chat_user.md)
- [get_chat_users](https://docs.xbox.com/zh-CN/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_get_chat_users.md)
- [Multiplayer Manager API 概述](https://docs.xbox.com/zh-CN/services/xbox-services/multiplayer/mpm/concepts/live-multiplayer-manager-api-overview.md)
- [XblSocialManagerAddLocalUser](https://docs.xbox.com/zh-CN/reference/live/xsapi-c/social_manager_c/functions/xblsocialmanageraddlocaluser.md)
- [XblAchievementsManagerAddLocalUser](https://docs.xbox.com/zh-CN/reference/live/xsapi-c/achievements_manager_c/functions/xblachievementsmanageraddlocaluser.md)
