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

# PFMultiplayerStartProcessingLobbyStateChanges

> 擷取自上次呼叫以來 PlayFab Multiplayer 大廳要處理的 PFLobbyStateChange 項目陣列，讓遊戲可以更新狀態或 UI。

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

## 語法

```cpp theme={null}
HRESULT PFMultiplayerStartProcessingLobbyStateChanges(  
    PFMultiplayerHandle handle,  
    uint32_t* stateChangeCount,  
    const PFLobbyStateChange* const** stateChanges  
)  
```

### 參數

**`handle`**   PFMultiplayerHandle

PFMultiplayer API 執行個體的控制代碼。

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

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

**`stateChanges`**   PFLobbyStateChange\* const\*\*\
*大小為 `*stateChangeCount` 的程式庫配置輸出陣列*

程式庫配置的輸出陣列，包含供遊戲處理後再傳遞給 [PFMultiplayerFinishProcessingLobbyStateChanges()](/zh-TW/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/functions/pfmultiplayerfinishprocessinglobbystatechanges) 的所有 PFLobbyStateChange 項目。

### 傳回值

類型：HRESULT

如果呼叫成功，則為 `S_OK`；否則為錯誤碼。可透過 [PFMultiplayerGetErrorMessage()](/zh-TW/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/functions/pfmultiplayergeterrormessage) 擷取錯誤碼的人類可讀形式。

## 備註

此方法讓 Lobby 程式庫有機會與遠端裝置或服務同步狀態，並擷取自上次呼叫此方法以來遊戲目前可用之所有變更的清單。遊戲應使用提供的 0 個或多個變更陣列來更新其自身狀態或 UI，然後及時以這些變更呼叫 [PFMultiplayerFinishProcessingLobbyStateChanges()](/zh-TW/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/functions/pfmultiplayerfinishprocessinglobbystatechanges)。 <br /><br /> 程式庫公開的 Lobby 程式庫狀態可能會在此呼叫期間變更，因此您使用它時必須保持執行緒安全。例如，在 UI 執行緒上叫用 PFMultiplayerStartProcessingLobbyStateChanges() 的同時，另一個背景工作執行緒正在逐一查看 [PFLobbyGetMembers()](/zh-TW/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/functions/pflobbygetmembers) 所傳回的大廳成員清單，可能會導致當機，因為 PFMultiplayerStartProcessingLobbyStateChanges() 可能會變更與成員清單相關聯的記憶體。應經常呼叫 PFMultiplayerStartProcessingLobbyStateChanges()——至少每個圖形畫面一次。它的設計是快速執行並傳回，因此可以在主 UI 執行緒上呼叫，影響微乎其微。為了獲得最佳結果，您也應盡量縮短在呼叫 PFMultiplayerFinishProcessingLobbyStateChanges() 之前處理狀態變更所花費的時間。   <br /><br /> PFMultiplayerStartProcessingLobbyStateChanges() 所傳回的每個狀態變更都必須恰好一次傳回給 PFMultiplayerFinishProcessingLobbyStateChanges()，但可以不按順序傳回，且可以與其他 PFMultiplayerStartProcessingLobbyStateChanges() 呼叫的狀態變更交錯。與特定狀態變更相關聯的任何資源，保證在狀態變更傳回給 PFMultiplayerFinishProcessingLobbyStateChanges() 之前都保持有效。

## 需求

**標頭：** PFLobby.h

## 另請參閱

[PFLobby 成員](/zh-TW/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/pflobby_members)\
[PFLobbyStateChange](/zh-TW/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/structs/pflobbystatechange)\
[PFMultiplayerFinishProcessingLobbyStateChanges](/zh-TW/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/functions/pfmultiplayerfinishprocessinglobbystatechanges)


## Related topics

- [PFMultiplayerFinishProcessingLobbyStateChanges](/zh-TW/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/functions/pfmultiplayerfinishprocessinglobbystatechanges.md)
- [PFLobbyStateChange](/zh-TW/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/structs/pflobbystatechange.md)
- [PFLobbyGetLobbyId](/zh-TW/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/functions/pflobbygetlobbyid.md)
- [PFLobbyGetOwner](/zh-TW/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/functions/pflobbygetowner.md)
- [PFLobbyUpdatedStateChange](/zh-TW/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/structs/pflobbyupdatedstatechange.md)
