PFLobbyPostUpdate
以玩家身份将更新发布到大厅。
语法
HRESULT PFLobbyPostUpdate(
PFLobbyHandle lobby,
const PFEntityKey* localUser,
const PFLobbyDataUpdate* lobbyUpdate,
const PFLobbyMemberDataUpdate* memberUpdate,
void* asyncContext
)
参数
lobby
PFLobbyHandle
大厅的句柄。
localUser
PFEntityKey*
发布更新的本地用户。
lobbyUpdate
PFLobbyDataUpdate*
可选
一个可选更新,用于代表localUser
应用于大厅的共享部分。 如果未提供此项,则必须提供 memberUpdate
。
memberUpdate
PFLobbyMemberDataUpdate*
可选
要应用于由 localUser
拥有的大厅部分的可选更新。 如果未提供此参数,则必须提供 lobbyUpdate
。
asyncContext
void*
可选
一个可选应用定义的指针大小的上下文值,可用于将完成状态更改与此调用关联起来。
返回值
类型:HRESULT
如果调用成功,则为 S_OK
,否则为错误代码。 可通过 PFMultiplayerGetErrorMessage() 检索错误代码的可读形式。
备注
这是一个异步操作。 完成成功后,将向游戏提供 PFLobbyPostUpdateCompletedStateChange,PFLobbyPostUpdateCompletedStateChange::result 字段设置为 S_OK
。 完成失败后,将向游戏提供 PFLobbyPostUpdateCompletedStateChange,PFLobbyPostUpdateCompletedStateChange::result 字段设置为失败。 如果应用更新将更改大厅的状态,则会在之后的某个时间向游戏提供 PFLobbyUpdatedStateChange。
此操作成功完成仅表示大厅服务已接受更新。 在向具有更新状态的游戏提供 PFLobbyUpdatedStateChange 之前,游戏的“大厅”状态的本地视图不会反映此更新。
lobbyUpdate
包含只能由大厅所有者修改的字段。 如果指定了其中一个字段,并且 localUser
不是大厅的所有者,则此方法将返回错误。
如果代表单个实体向此方法提供 lobbyUpdate
和 memberUpdate
,则两个更新都将以原子方式进行。
要求
标头: PFLobby.h