> ## 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::start_processing_state_changes

> chat_manager::start_processing_state_changes

# chat\_manager::start\_processing\_state\_changes

擷取自上次此類呼叫以來要處理之所有 Game Chat 狀態變更的陣列。

## 語法

```cpp theme={null}
void start_processing_state_changes(  
    uint32_t* stateChangeCount,  
    game_chat_state_change_array* stateChanges  
)  
```

### 參數

*stateChangeCount*   \_Out\_<br />類型：uint32\_t\*

用來寫入 *stateChanges* 陣列中供應用程式處理之 game\_chat\_state\_change 項目數目的位置。

*stateChanges*   \_Outptr\_result\_buffer\_(\*stateChangeCount)<br />類型：game\_chat\_state\_change\_array\*

用來儲存陣列指標的位置，該陣列包含所有供應用程式處理、然後傳遞給 chat\_manager::finish\_processing\_state\_changes() 的 game\_chat\_state\_change 項目。

### 傳回值

類型：void

## 備註

此方法會提供自上次呼叫此方法以來，應用程式目前可用之所有變更的清單。應用程式應使用所提供包含 0 個或多個變更的陣列來更新其本身的狀態或 UI，然後及時使用這些變更呼叫 chat\_manager::finish\_processing\_state\_changes()。

如果您在尚未對先前呼叫所傳回的狀態變更物件清單呼叫 chat\_manager::finish\_processing\_state\_changes() 的情況下，再次呼叫 chat\_manager::start\_processing\_state\_changes()，此方法將擲回例外狀況。您必須一律使用 chat\_manager::start\_processing\_state\_changes() 傳回的值呼叫 chat\_manager::finish\_processing\_state\_changes()，即使其傳回 0 個狀態變更項目也一樣。

呼叫 chat\_manager::start\_processing\_state\_changes() 之後，在對應呼叫 chat\_manager::finish\_processing\_state\_changes() 之前，不得呼叫 chat\_manager::remove\_user()。在處理狀態變更時呼叫 chat\_manager::remove\_user()，將使與已移除使用者相關聯的記憶體失效，即使狀態變更中傳回了與該使用者相關聯之記憶體的指標也一樣。

## 需求

**標頭：** GameChat2.h

**支援的平台：** Windows、XBOX One 系列主機和 XBOX Series 主機

## 另請參閱

[chat\_manager](/zh-TW/reference/chat/gamechat2/classes/chat_manager/chat_manager)<br />[game\_chat\_state\_change](/zh-TW/reference/chat/gamechat2/structs/game_chat_state_change)<br />[game\_chat\_state\_change\_array](/zh-TW/reference/chat/gamechat2/structs/game_chat_state_change)<br />[chat\_manager::finish\_processing\_state\_changes](/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_finish_processing_state_changes)<br />[chat\_manager::remove\_user](/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_remove_user)


## Related topics

- [chat_manager::finish_processing_state_changes](/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_finish_processing_state_changes.md)
- [chat_manager::remove_user](/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_remove_user.md)
- [game_chat_state_change](/zh-TW/reference/chat/gamechat2/structs/game_chat_state_change.md)
- [game_chat_state_change_type](/zh-TW/reference/chat/gamechat2/enums/game_chat_state_change_type.md)
- [使用 Game Chat 2 C++ API](/zh-TW/services/xbox-services/multiplayer/chat/game-chat2/using-game-chat-2.md)
