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

# chat_manager::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](/reference/system/xuser/functions/xuseraddasync) 进行添加。

除非本地用户和远程用户的总数已达到 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](/reference/chat/gamechat2/classes/chat_manager/chat_manager)\
[chat\_user](/reference/chat/gamechat2/classes/chat_user/chat_user)\
[chat\_manager::add\_remote\_user](/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_add_remote_user)\
[chat\_manager::remove\_user](/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_remove_user)


## Related topics

- [chat_manager::get_chat_users](/zh-CN/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_get_chat_users.md)
- [使用 Game Chat 2 C++ API](/zh-CN/services/xbox-services/multiplayer/chat/game-chat2/using-game-chat-2.md)
- [chat_manager::add_remote_user](/zh-CN/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_add_remote_user.md)
- [chat_manager::remove_user](/zh-CN/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_remove_user.md)
- [chat_user::local](/zh-CN/reference/chat/gamechat2/classes/chat_user/methods/chat_user_local_function_2.md)
