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

# game_chat_text_chat_received_state_change

> game_chat_text_chat_received_state_change

# game\_chat\_text\_chat\_received\_state\_change

表示特定于 [game\_chat\_state\_change\_type::text\_chat\_received](/reference/chat/gamechat2/enums/game_chat_state_change_type) 状态更改的信息。

<a id="syntaxSection" />

## 语法

```cpp theme={null}
typedef struct game_chat_text_chat_received_state_change {  
    chat_user* sender;  
    uint32_t receiver_count;  
    chat_user_array receivers;  
    PCWSTR message;  
} game_chat_text_chat_received_state_change  
```

<a id="membersSection" />

### 成员

*sender*  \
类型:[chat\_user](/reference/chat/gamechat2/classes/chat_user/chat_user)\*

指向发起该文本消息的 `chat_user` 对象的指针。

`chat_user` 对象的指针在通过 [chat\_manager::remove\_user](/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_remove_user) 方法从本地 [chat\_manager](/reference/chat/gamechat2/classes/chat_manager/chat_manager) 实例中移除用户之前保持有效。

*receiver\_count*  \
类型:uint32\_t

*receivers* 中的数组元素数量。

*receivers*  \_Field\_size\_(receiver\_count)\
类型:[chat\_user\_array](/reference/chat/gamechat2/classes/chat_user/chat_user#array)

一个 `chat_user` 指针数组,指向该文本消息所发往的一个或多个本地目标玩家。

`chat_user_array` 对象的内存在通过调用 [chat\_manager::finish\_processing\_state\_changes](/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_finish_processing_state_changes) 归还此对象之前保持有效。各个 `chat_user` 对象指针在通过 `chat_manager::remove_user` 方法从本地 `chat_manager` 实例中移除用户之前保持有效。

*message*  \
类型:PCWSTR

指向通过调用 [chat\_user\_local::send\_chat\_text](/reference/chat/gamechat2/classes/chat_user/chat_user_local/methods/chat_user_local_send_chat_text) 发送的文本字符串的指针。该字符串最多可为 `c_maxChatTextMessageLength` 个字符长,不包括空终止符。

<Note>`c_maxChatTextMessageLength` 是一个值为 1023 的 `constexpr uint16_t`。</Note>

该字符串在通过调用 `chat_manager::finish_processing_state_changes` 归还此对象之前保持有效。应用应复制该文本,并按照 Game Chat 通信策略指南文档所述的方式和持续时间进行显示。

<a id="remarksSection" />

## 备注

此结构为 Game Chat 2 中的 [game\_chat\_state\_change\_type::text\_chat\_received](/reference/chat/gamechat2/enums/game_chat_state_change_type) 状态更改提供附加信息。当玩家之间的文本通信到达时,会发生此状态更改。

如果发生此状态更改,当您的应用调用 [chat\_manager::start\_processing\_state\_changes](/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_start_processing_state_changes) 时,此结构会作为 [game\_chat\_state\_change\_array](/reference/chat/gamechat2/structs/game_chat_state_change#array) 数组中的 [game\_chat\_state\_change](/reference/chat/gamechat2/structs/game_chat_state_change) 元素返回。通过检查该 `game_chat_state_change` 元素的 `state_change_type` 成员的值确认状态更改类型后,即可将该元素转换为此结构。然后可以使用此结构获取有关状态更改的更多信息并进行处理,再通过调用 [chat\_manager::finish\_processing\_state\_changes](/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_finish_processing_state_changes) 将数组从应用返回给 Game Chat 2。

有关处理状态更改的更多信息,请参阅 [使用 Game Chat 2 C++ API](/services/xbox-services/multiplayer/chat/game-chat2/using-game-chat-2)。

<a id="requirementsSection" />

## 需求

**头文件:** GameChat2.h

**支持的平台:** Windows、XBOX One 家族主机以及 XBOX Series 主机

<a id="seealsoSection" />

## 概念性文档

* [使用 Game Chat 2 C++ API](/services/xbox-services/multiplayer/chat/game-chat2/using-game-chat-2)

## 另请参阅

[Game Chat 2 简介](/services/xbox-services/multiplayer/chat/game-chat2/game-chat-2-intro)\
[chat\_manager](/reference/chat/gamechat2/classes/chat_manager/chat_manager)\
[GameChat2 members](/reference/chat/gamechat2/gamechat2_members)


## Related topics

- [game_chat_state_change](/zh-CN/reference/chat/gamechat2/structs/game_chat_state_change.md)
- [game_chat_state_change_type](/zh-CN/reference/chat/gamechat2/enums/game_chat_state_change_type.md)
- [使用 Game Chat 2 C++ API](/zh-CN/services/xbox-services/multiplayer/chat/game-chat2/using-game-chat-2.md)
- [GameChat2 members](/zh-CN/reference/chat/gamechat2/gamechat2_members.md)
- [game_chat_transcribed_chat_received_state_change](/zh-CN/reference/chat/gamechat2/structs/game_chat_transcribed_chat_received_state_change.md)
