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

# PartyManager::StartProcessingStateChanges

> 擷取自上次此類呼叫以來所有要處理之 PartyStateChange 的陣列。

擷取自上次此類呼叫以來所有要處理之 PartyStateChange 的陣列。

## 語法

```cpp theme={null}
PartyError StartProcessingStateChanges(  
    uint32_t* stateChangeCount,  
    PartyStateChangeArray* stateChanges  
)  
```

### 參數

**`stateChangeCount`**   uint32\_t\*\
*輸出*

`stateChanges` 陣列中供遊戲處理的 PartyStateChange 項目輸出數目。

**`stateChanges`**   [PartyStateChangeArray\*](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/typedefs.md)\
*程式庫配置的輸出陣列，大小為 `*stateChangeCount`*

程式庫配置的輸出陣列，包含所有 PartyStateChange 項目，供遊戲處理後傳遞給 [FinishProcessingStateChanges()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_finishprocessingstatechanges.md)。

### 傳回值

PartyError

`c_partyErrorSuccess` (如果呼叫成功)，否則為錯誤碼。可透過 [GetErrorMessage()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_geterrormessage.md) 擷取錯誤碼的人類可讀形式。

## 備註

此方法讓 Party 程式庫有機會與遠端裝置或服務同步狀態，並擷取自上次呼叫此方法以來遊戲目前可用之所有變更的清單。遊戲應使用提供的 0 個或多個變更陣列來更新自己的狀態或 UI，然後及時以這些變更呼叫 [FinishProcessingStateChanges()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_finishprocessingstatechanges.md)。 \
\
&#x20;程式庫公開的 Party 程式庫狀態可能會在此呼叫期間變更，因此您使用時必須確保執行緒安全。例如，在 UI 執行緒上叫用 StartProcessingStateChanges() 的同時，若有另一個背景工作執行緒正在逐一查看 [PartyNetwork::GetEndpoints()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyNetwork/methods/partynetwork_getendpoints.md) 傳回的端點清單，可能會導致當機，因為 StartProcessingStateChanges() 可能會變更與端點清單相關聯的記憶體。應該經常呼叫 StartProcessingStateChanges()，至少每個圖形畫面一次。它的設計是能快速執行並返回，因此可以在主要 UI 執行緒上呼叫，且影響微乎其微。為了獲得最佳結果，您也應該盡量縮短呼叫 FinishProcessingStateChanges() 之前處理狀態變更所花費的時間。   \
\
&#x20;StartProcessingStateChanges() 傳回的每個狀態變更都必須恰好傳回給 FinishProcessingStateChanges() 一次，但可以不依順序傳回，也可以與其他 StartProcessingStateChanges() 呼叫的狀態變更交錯。與特定狀態變更相關聯的任何資源，保證在狀態變更傳回給 FinishProcessingStateChanges() 之前保持有效。

## 需求

**標頭：** Party.h

## 另請參閱

[PartyManager](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/partymanager.md)\
[PartyStateChange](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/structs/partystatechange.md)\
[PartyManager::FinishProcessingStateChanges](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_finishprocessingstatechanges.md)


## Related topics

- [PartyManager::FinishProcessingStateChanges](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_finishprocessingstatechanges.md)
- [PartyStateChange](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/structs/partystatechange.md)
- [PartyManager::GetNetworks](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_getnetworks.md)
- [PartyManager::GetChatControls](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_getchatcontrols.md)
- [PartyManager::GetLocalUsers](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_getlocalusers.md)
