PFMultiplayerStartProcessingMatchmakingStateChanges
检索自上次此类调用以来要处理的所有匹配状态更改数组。
语法
HRESULT PFMultiplayerStartProcessingMatchmakingStateChanges(
PFMultiplayerHandle handle,
uint32_t* stateChangeCount,
const PFMatchmakingStateChange* const** stateChanges
)
参数
handle
PFMultiplayerHandle
PFMultiplayer API 实例的句柄。
stateChangeCount
uint32_t*
输出
要在 stateChanges
数组中处理的游戏的 PFMatchmakingStateChange 条目输出数。
stateChanges
PFMatchmakingStateChange* const**
库分配的输出数组大小*stateChangeCount
库分配的输出数组,包括要处理的游戏的所有 PFMatchmakingStateChange 条目,然后传递到 PFMultiplayerFinishProcessingMatchmakingStateChanges()。
返回值
类型:HRESULT
如果调用成功,则为 S_OK
,否则为错误代码。 可通过 PFMultiplayerGetErrorMessage() 检索错误代码的可读形式。
备注
此方法为匹配库提供了与远程设备或服务同步状态的机会,并检索自上次调用此方法后当前对该游戏可用的所有更改列表。 游戏应使用提供的 0 个或多个更改数组来更新自己的状态或 UI,然后及时使用它们调用 PFMultiplayerFinishProcessingMatchmakingStateChanges()。
此调用期间,由库公开的匹配库状态可以更改,因此使用时确保必须线程安全。 应当经常调用 PFMultiplayerStartProcessingMatchmakingStateChanges() - 每个图形框架至少调用一次。 它旨在快速执行和返回,从而可以在主 UI 线程上调用它,而且影响可以忽略不计。 为获得最佳结果,还应在调用 PFMultiplayerFinishProcessingMatchmakingStateChanges() 之前尽量减少处理状态更改所花费的时间。
PFMultiplayerStartProcessingMatchmakingStateChanges() 返回的每个状态更改必须恰好返回给 PFMultiplayerFinishProcessingMatchmakingStateChanges() 一次,但可能会无序返回,并且可能与对 PFMultiplayerStartProcessingMatchmakingStateChanges() 的其他调用的状态更改交错。 与特定状态更改相关联的任何资源在状态更改返回到 PFMultiplayerFinishProcessingMatchmakingStateChanges() 之前都保证保持有效。
要求
标头: PFMatchmaking.h
另请参阅
PFMatchmaking 成员
PFMatchmakingStateChange
PFMultiplayerFinishProcessingMatchmakingStateChanges