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

# 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\_\
類型：uint32\_t\*

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

*stateChanges*   \_Outptr\_result\_buffer\_(\*stateChangeCount)\
類型：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](https://docs.xbox.com/zh-TW/reference/chat/gamechat2/classes/chat_manager/chat_manager.md)\
[game\_chat\_state\_change](https://docs.xbox.com/zh-TW/reference/chat/gamechat2/structs/game_chat_state_change.md)\
[game\_chat\_state\_change\_array](https://docs.xbox.com/zh-TW/reference/chat/gamechat2/structs/game_chat_state_change.md)\
[chat\_manager::finish\_processing\_state\_changes](https://docs.xbox.com/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_finish_processing_state_changes.md)\
[chat\_manager::remove\_user](https://docs.xbox.com/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_remove_user.md)


## Related topics

- [finish_processing_state_changes](https://docs.xbox.com/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_finish_processing_state_changes.md)
- [game_chat_state_change](https://docs.xbox.com/zh-TW/reference/chat/gamechat2/structs/game_chat_state_change.md)
- [game_chat_state_change_type](https://docs.xbox.com/zh-TW/reference/chat/gamechat2/enums/game_chat_state_change_type.md)
- [remove_user](https://docs.xbox.com/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_remove_user.md)
- [PartyManager::StartProcessingStateChanges](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_startprocessingstatechanges.md)
